Book:Donald E. Knuth/The Art of Computer Programming: Volume 1: Fundamental Algorithms

Subject Matter

 * Number Theory
 * Discrete Mathematics
 * Computer Science

Contents

 * Preface


 * Procedure for Reading This Set of Books


 * Notes on the Exercises


 * Chapter 1 Basic Concepts


 * 1.1. Algorithms
 * 1.2. Mathematical Preliminaries
 * 1.2.1. Mathematical Induction
 * 1.2.2, Numbers, Powers, and Logarithms
 * 1.2.3. Sums and Products
 * 1.2.4. Integer Functions and Elementary Number Theory
 * 1.2.5. Permutations and Factorials
 * 1.2.6. Binomial Coefficients
 * 1.2.7. Harmonic Numbers
 * 1.2.8. Fibonacci Numbers
 * 1.2.9. Generating Functions
 * 1.2.10. Analysis of an Algorithm
 * *1.2.11. Asymptotic Representations
 * *1.2.11.1. The $O$-notation
 * *1.2.11.2. Euler's summation formula
 * *1.2.11.3. Some asymptotic calculations
 * 1.3. MIX
 * 1.3.1. Description of MIX
 * 1.3.2. The MIX Assembly Language
 * 1.3.3. Applications to Permutations
 * 1.4. Some Fundamental Programming Techniques
 * 1.4.1. Subroutines
 * 1.4.2. Coroutines
 * 1.4.3. Interpretive Routines
 * 1.4.3.1. A MIX simulator
 * *1.4.3.2. Trace routines
 * 1.4.4. Input and Output
 * 1.4.5. History and Bibliography


 * Chapter 2 - Information Structures


 * 2.1. Introduction
 * 2.2. Linear Lists
 * 2.2.1. Stacks, Queues and Deques
 * 2.2.2. Sequential Allocation
 * 2.2.3. Linked Allocation
 * 2.2.4. Circular Lists
 * 2.2.5. Doubly Linked Lists
 * 2.2.6. Arrays and Orthogonal Lists
 * 2.3. Trees
 * 2.3.1. Traversing Binary Trees
 * 2.3.2. Binary Tree Representation of Trees
 * 2.3.3. Other Representations of Trees
 * 2.3.4. Basic Mathematical Properties of Trees
 * 2.3.4.1. Free trees
 * 2.3.4.2. Oriented trees
 * *2.3.4.3. The "infinity lemma"
 * *2.3.4.4. Enumeration of trees
 * 2.3.4.5. Path length
 * *2.3.4.6. History and bibliography
 * 2.3.5. Lists and Garbage Collection
 * 2.4 Multilinked Structures
 * 2.5. Dynamic Storage Allocation
 * 2.6. History and Bibliography


 * Answers to Exercises


 * Appendix A - Tables of Numerical Quantities
 * 1. Fundamental Constants (decimal)
 * 2. Fundamental Constants (octal)
 * 3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers


 * Appendix B - Index to Notations


 * Index and Glossary