Electronic Transactions on Numerical Analysis
its book of mathematics on numerical analysis.
5 Recursive Algorithms
Recursion is a form of definition and of algorithms that is very important in computer
science theory as well as in practice. Recursive algorithms can be inefficient or efficient.1 A
recursive definition or a recursive algorithm is characterized by self-reference.
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 Bellman-Ford 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 52-card 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.
4 Algorithms - Free eBook 4 Algorithms - Download ebook 4 Algorithms free