Book description
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.
Robert Sedgewick and the late Philippe Flajolet have drawn from both classical mathematics and computer science, integrating discrete mathematics, elementary real analysis, combinatorics, algorithms, and data structures. They 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.
Techniques covered in the first half of the book include recurrences, generating functions, asymptotics, and analytic combinatorics. Structures studied in the second half of the book include permutations, trees, strings, tries, and mappings. Numerous examples are included throughout to illustrate applications to the analysis of algorithms that are playing a critical role in the evolution of our modern computational infrastructure.
Improvements and additions in this new edition include
Upgraded figures and code
An allnew chapter introducing analytic combinatorics
Simplified derivations via analytic combinatorics throughout
The book’s thorough, selfcontained coverage will help readers appreciate the field’s challenges, prepare them for advanced results—covered in their monograph Analytic Combinatorics and in Donald Knuth’s The Art of Computer Programming books—and provide the background they need to keep abreast of new research.
"[Sedgewick and Flajolet] are not only worldwide leaders of the field, they also are masters of exposition. I am sure that every serious computer scientist will find this book rewarding in many ways."
—From the Foreword by Donald E. Knuth
Table of contents
 Title Page
 Copyright Page
 Foreword
 Preface
 Note on the Second Edition
 Table of Contents
 Notation
 Chapter One. Analysis of Algorithms
 Chapter Two. Recurrence Relations

Chapter Three. Generating Functions
 3.1. Ordinary Generating Functions
 3.2. Exponential Generating Functions
 3.3. Generating Function Solution of Recurrences
 3.4. Expanding Generating Functions
 3.5. Transformations with Generating Functions
 3.6. Functional Equations on Generating Functions
 3.7. Solving the Quicksort MedianofThree Recurrence with OGFs
 3.8. Counting with Generating Functions
 3.9. Probability Generating Functions
 3.10. Bivariate Generating Functions
 3.11. Special Functions
 References

Chapter Four. Asymptotic Approximations
 4.1. Notation for Asymptotic Approximations
 4.2. Asymptotic Expansions
 4.3. Manipulating Asymptotic Expansions
 4.4. Asymptotic Approximations of Finite Sums
 4.5. EulerMaclaurin Summation
 4.6. Bivariate Asymptotics
 4.7. Laplace Method
 4.8. “Normal” Examples from the Analysis of Algorithms
 4.9. “Poisson” Examples from the Analysis of Algorithms
 References
 Chapter Five. Analytic Combinatorics

Chapter Six. Trees
 6.1. Binary Trees
 6.2. Forests and Trees
 6.3. Combinatorial Equivalences to Trees and Binary Trees
 6.4. Properties of Trees
 6.5. Examples of Tree Algorithms
 6.6. Binary Search Trees
 6.7. Average Path Length in Random Catalan Trees
 6.8. Path Length in Binary Search Trees
 6.9. Additive Parameters of Random Trees
 6.10. Height
 6.11. Summary of AverageCase Results on Properties of Trees
 6.12. Lagrange Inversion
 6.13. Rooted Unordered Trees
 6.14. Labelled Trees
 6.15. Other Types of Trees
 References

Chapter Seven. Permutations
 7.1. Basic Properties of Permutations
 7.2. Algorithms on Permutations
 7.3. Representations of Permutations
 7.4. Enumeration Problems
 7.5. Analyzing Properties of Permutations with CGFs
 7.6. Inversions and Insertion Sorts
 7.7. LefttoRight Minima and Selection Sort
 7.8. Cycles and In Situ Permutation
 7.9. Extremal Parameters
 References
 Chapter Eight. Strings and Tries

Chapter Nine. Words and Mappings
 9.1. Hashing with Separate Chaining
 9.2. The BallsandUrns Model and Properties of Words
 9.3. Birthday Paradox and Coupon Collector Problem
 9.4. Occupancy Restrictions and Extremal Parameters
 9.5. Occupancy Distributions
 9.6. Open Addressing Hashing
 9.7. Mappings
 9.8. Integer Factorization and Mappings
 References
 List of Theorems
 List of Tables
 List of Figures
 Index
 Ad Page
Product information
 Title: An Introduction to the Analysis of Algorithms, Second Edition
 Author(s):
 Release date: January 2013
 Publisher(s): AddisonWesley Professional
 ISBN: 9780133373455
You might also like
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
book
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …
book
Art of Computer Programming, The: Volume 1: Fundamental Algorithms
&>The bible of all fundamental algorithms and the work that taught many of today's software developers …
book
Clean Code: A Handbook of Agile Software Craftsmanship
Even bad code can function. But if code isn't clean, it can bring a development organization …