Despite growing interest, basic information on methods and models for mathematically analyzing algorithms has rarely been directly accessible to practitioners, researchers, or students. An Introduction to the Analysis of Algorithms, Second Edition, organizes and presents that knowledge, fully introducing primary techniques and results in the field. Authors Robert Sedgewick and the late Philippe Flajolet emphasize the mathematics needed to support scientific studies that can serve as the basis for predicting algorithm performance and for comparing different algorithms on the basis of performance. Improvements and additions in this new edition include upgraded figures and code, an all-new chapter introducing analytic combinatorics, and simplified derivations via analytic combinatorics throughout. The book's thorough, self-contained coverage will help readers appreciate the field's challenges and prepare them for advanced study.