Discrete Algorithmic Mathematics, Third Edition

Mathematics requires both precision of thought and precision of language. To do mathematics by yourself, precise thought may, perhaps, be sufficient. But to communicate mathematics to others, precise language is essential. In this chapter we ll focus on one of the most important entities used to communicate mathematical thoughts: the algorithm. Algorithms are a central theme in this book. They are crucial for solving many sorts of problems and interesting in themselves. Because algorithms provide a precise way to communicate mathematical thoughts, we can use mathematics to analyze them and to determine if they are correct.
In this section we introduce the basics of our algorithmic language (often hereafter AL for short) through examples, along the way defining just what an algorithm is and suggesting the sorts of issues one wants to study about them. We think you will easily understand the AL used in these examples. In Section 1.2 we ll discuss some features of AL not introduced in this section. In Section 1.3 we ll introduce the subject of recursive algorithms and show how our algorithmic language is used to express recursive algorithms. Recursive algorithms can be subtle and you may find them difficult at first. But they are needed with the inductive and recursive paradigms that were discussed in the Prologue and that will appear and reappear throughout this book. Then in Section 1.4 we shall formalize the AL features introduced in Section 1.3. Finally, in Section 1.5 we view algorithms as mathematical...