Algorithms, by Richard Johnsonbaugh and Marcus Schaefer, is intended for an upper-level undergraduate or graduate course in algorithms. The authors include applications of algorithms, examples, end-of-section exercises, end-of-chapter exercises, solutions to selected exercises, figures, references, and notes to help the reader master algorithms.
- Links theory to real-world applications such as data compression, region-finding in digital pictures, cellular phone networks, and the implementation of agrep.
- Includes five chapters that emphasize design techniques: searching (including backtracking), divide and conquer, sorting, selection, the greedy method, and dynamic programming.
- Covers distributed algorithms—a topic recommended by the ACM (2001 report) for an undergraduate curriculum.
- Features a collection of techniques, including approximation, parameterization (a recent area of research), and use of heuristics, to deal with NP-complete problems.
- Contains over 1450 carefully developed and classroom-tested exercises, from routine to challenging. About one-third of the end-of-section exercises include solutions.
- Includes over 300 worked examples, which clarify and show how to develop algorithms, demonstrate applications of the theory, elucidate proofs, and provide motivation.
Overview and Table of Contents
Algorithms Animator by Massimo DiPierro