Overview This textbook explains the fundamentals of algorithms in a story line that makes the text enjoyable and easy to digest. The emphasis is mostly placed on understanding the crisp mathematical idea behind each algorithm in a manner that is intuitive and rigorous without being unduly formal. An accessible treatment of linear programming introduces students to one of the greatest achievements in algorithms. A chapter on the Quantum Algorithm for factoring has also been added that provides a unique peephole into this exciting topic.
Pedagogical features, such as the use of the three series of separate boxes have been introduced in the book to strengthen its narrative. These pieces provide historical context, description of how the algorithms is used in practice, and excursions for the mathematically sophisticated.
Key Features • The book is concise and realistic; with key Design Issues and rationales that clearly outline the problems to be solved. It shows how to develop appealing algorithms to achieve desired results. • Small book on Algorithms covering most of the topics in the area. • The book also covers interesting stories about the development of important algorithms and their current uses in the global information environment.
Chapter 0: Prologue Chapter 1: Algorithms with Numbers Randomized Algorithms: A Virtual Chapter Chapter 2: Divide-And-Conquer Algorithms Chapter 3: Decompositions of Graphs Chapter 4: Paths in Graphs Chapter 5: Greedy Algorithms Chapter 6: Dynamic Programming Chapter 7: Linear Programming and Reductions Chapter 8: NP-Complete Problems Chapter 9: Coping With NP-Completeness Chapter 10: Quantum Algorithms Historical Notes & Further Reading Index