Companion Website http://www.cs.princeton.edu/~wayne/kleinberg-tardos/
Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science.
Chapter 1 Introduction: Some Representative Problems
Chapter 2 Basics of Algorithm Analysis
Chapter 3 Graphs
Chapter 4 Greedy Algorithms
Chapter 5 Divide and Conquer
Chapter 6 Dynamic Programming
Chapter 7 Network Flow
Chapter 8 NP and Computational Intractability
Chapter 9 PSPACE: A Class of Problems beyond NP
Chapter 10 Extending the Limits of Tractability
Chapter 11 Approximation Algorithms
Chapter 12 Local Search
Chapter 13 Randomized Algorithms