Electronic Transactions on Numerical Analysis
its book of mathematics on numerical analysis.
6 Induction
The principle of induction is a one of the most fundamental laws of mathematics.
Students come across it, as here, as a method of proof. However, it is a basic property of the
natural numbers (i.e. the positive integers) and can be considered as part of the definition of the
natural numbers. Since we do not define the natural numbers here, the principle will be simply
given as an axiom.1
7 Graph Searching
Algorithms for searching graphs go back at least to the nineteenth century when they
were used for mazes. Until the advent of computers they were an extremely obscure topic (as
was graph theory). We are going to look at two algorithms which represent the two main
approaches to searching graphs.
8 Horner's Algorithm
Horner's algorithm is an excellent example of an algorithm. It is a simple and useful
algorithm, but it does not have much to do with discrete mathematics.
9 Shortest Paths
A fundamental problem in graphs is finding the shortest path from vertex A to vertex B.
Fortunately there are several simple (and efficient algorithms for doing this). We will look at
the three best of these: Dijkstra’s algorithm, Floyd’s algorithm, and the BellmanFord algorithm.
First we need to discuss different types of shortest path problems and various conventions that
we will use in solving them.
10 Euclidean Algorithm
Number theory is the mathematics of integer arithmetic. In this chapter we will restrict
ourselves to integers,
11 Division Mod n
Let's look at the values of 4x + 6y when x and y are integers. If x is 6 and y is 4 we get
zero. If x is !1 and y is 1 we get 2. In fact a little experimentation will convince you that you
can get all the even integers but only even integers.
12 Chinese Remainder Theorem
Many classroom exercises involve dealing cards. In this chapter we will focus on a
simple problem: Write an algorithm to randomly select one card out of an ordinary 52card deck.
My students frequently derive an efficient algorithm to solve this problem. The algorithm goes
as follows we use a random number generator to select a number between 1 and 52 (or between
0 and 51; either way works fine).
13 Euler's Theorem and Fermat's Little Theorem
The formulas of this section are the most sophisticated number theory results in this
book. The reason I am presenting them is that by use of graph theory we can understand them
easily. Fermat was a great mathematician of the 17th century and Euler was a great
mathematician of the 18th century.
14 Wilson's Theorem
Wilson’s Theorem is elegant. It is not very useful, but like a lot of other people, I like
it. So that is why it is here. Consider an integer n > 1. If the integer n1! + 1 is divided by any
number from 2 to n1, it yields a remainder of 1.
5 Recursive Algorithms  Free eBook 5 Recursive Algorithms  Download ebook 5 Recursive Algorithms free
