Introduction to Algorithms, Second Edition
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein ISBN:0262032937
The MIT Press © 2001 (1180 pages)
A course in computer algorithms, suitable for use as a field reference for working software developers.
Table of Contents
Introduction to Algorithms, Second Edition
Preface
Part I - Foundations
Chapter 1 - The Role of Algorithms in Computing
Chapter 2 - Getting Started
Chapter 3 - Growth of Functions
Chapter 4 - Recurrences
Chapter 5 - Probabilistic Analysis and Randomized Algorithms
Part II - Sorting and Order Statistics
Chapter 6 - Heapsort
Chapter 7 - Quicksort
Chapter 8 - Sorting in Linear Time
Chapter 9 - Medians and Order Statistics
Part III - Data Structures
Chapter 10 - Elementary Data Structures
Chapter 11 - Hash Tables
Chapter 12 - Binary Search Trees
Chapter 13 - Red-Black Trees
Chapter 14 - Augmenting Data Structures
Part IV - Advanced Design and Analysis Techniques
Chapter 15 - Dynamic Programming
Chapter 16 - Greedy Algorithms
Chapter 17 - Amortized Analysis
Part V - Advanced Data Structures
Chapter 18 - B-Trees
Chapter 19 - Binomial Heaps
Chapter 20 - Fibonacci Heaps
Chapter 21 - Data Structures for Disjoint Sets
Part VI - Graph Algorithms
Chapter 22 - Elementary Graph Algorithms
Chapter 23 - Minimum Spanning Trees
Chapter 24 - Single-Source Shortest Paths
Chapter 25 - All-Pairs Shortest Paths
Chapter 26 - Maximum Flow
Part VII - Selected Topics
Chapter 27 - Sorting Networks
Chapter 28 - Matrix Operations
Chapter 29 - Linear Programming
Chapter 30 - Polynomials and the FFT
Chapter 31 - Number-Theoretic Algorithms
Chapter 32 - String Matching
Chapter 33 - Computational Geometry
Chapter 34 - NP-Completeness
Chapter 35 - Approximation Algorithms
Part VIII - Appendix: Mathematical Background
Appendix A - Summations
Appendix B - Sets, Etc.
Appendix C - Counting and Probability
Bibliography
Index
List of Figures
List of Corollaries
List of Problems
List of Exercises
1