Techniques for Designing and Analyzing Algorithms
Stinson, Douglas R![Techniques for Designing and Analyzing Algorithms](https://support.digitalhusky.com/media/annotations/sorted/355/35507041/CHSBZCOP0335507041.jpg)
This text presents the main techniques of algorithm design, namely, divide-and-conquer algorithms, greedy algorithms, dynamic programming algorithms, and backtracking. Graph algorithms are studied in detail, and a careful treatment of the theory of NP-completeness is presented.