The bible of programming theory and practice is being updated for the first time in more than 20 years. The book is concerned with information structures--the representation of information within a computer, the structural interrelations between data elements and how to work with them efficiently, and applications to simulation, numerical methods and software design.
Author(s): Donald E. Knuth
Edition: 3
Year: 1997
Language: English
Pages: 664
Contents......Page 013.djvu
1.1. Algorithms......Page 015.djvu
1.2. Mathematical Preliminaries......Page 024.djvu
1.2.1. Mathematical Induction......Page 025.djvu
1.2.2. Numbers, Powers, and Logarithms......Page 035.djvu
1.2.3. Sums and Products......Page 041.djvu
1.2.4. Integer Functions and Elementary Number Theory......Page 053.djvu
1.2.5. Permutations and Factorials......Page 059.djvu
1.2.6. Binomial Coefficients......Page 066.djvu
1.2.7. Harmonic Numbers......Page 089.djvu
1.2.8. Fibonacci Numbers......Page 093.djvu
1.2.9. Generating Functions......Page 101.djvu
1.2.10. Analysis of an Algorithm......Page 110.djvu
1.2.11.1. The O-notation......Page 121.djvu
1.2.11.2. Euler's summation formula......Page 125.djvu
1.2.11.3. Some asymptotic calculations......Page 130.djvu
1.3.1. Description of MIX......Page 138.djvu
1.3.2. The MIX Assembly Language......Page 158.djvu
1.3.3. Applications to Permutations......Page 178.djvu
1.4.1. Subroutines......Page 200.djvu
1.4.2. Coroutines......Page 207.djvu
1.4.3. Interpretive Routines......Page 214.djvu
1.4.3.1. A MIX simulator......Page 216.djvu
1.4.3.2. Trace routines......Page 226.djvu
1.4.4. Input and Output......Page 229.djvu
1.4.5. History and Bibliography......Page 243.djvu
2.1. Introduction......Page 246.djvu
2.2.1. Stacks, Queues, and Deques......Page 252.djvu
2.2.2. Sequential Allocation......Page 258.djvu
2.2.3. Linked Allocation......Page 268.djvu
2.2.4. Circular Lists......Page 287.djvu
2.2.5. Doubly Linked Lists......Page 294.djvu
2.2.6. Arrays and Orthogonal Lists......Page 312.djvu
2.3. Trees......Page 322.djvu
2.3.1. Traversing Binary Trees......Page 332.djvu
2.3.2. Binary Tree Representation of Trees......Page 348.djvu
2.3.3. Other Representations of Trees......Page 362.djvu
2.3.4. Basic Mathematical Properties of Trees......Page 376.djvu
2.3.4.1. Free trees......Page 377.djvu
2.3.4.2. Oriented trees......Page 386.djvu
2.3.4.3. The "infinity lemma"......Page 396.djvu
2.3.4.4. Enumeration of trees......Page 400.djvu
2.3.4.5. Path length......Page 413.djvu
2.3.4.6. History and bibliography......Page 420.djvu
2.3.5. Lists and Garbage Collection......Page 422.djvu
2.4. Multilinked Structures......Page 438.djvu
2.5. Dynamic Storage Allocation......Page 449.djvu
2.6. History and Bibliography......Page 471.djvu
Answers to Exercises......Page 480.djvu
1. Fundamental Constants (decimal)......Page 633.djvu
2. Fundamental Constants (octal)......Page 634.djvu
3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers......Page 635.djvu
Appendix B Index to Notations......Page 637.djvu
Index and Glossary......Page 642.djvu