Synopses & Reviews
"People who analyze algorithms have double happiness. First of all they experience the sheer beauty of elegant mathematical patterns that surround elegant computational procedures. Then they receive a practical payoff when their theories make it possible to get other jobs done more quickly and more economically.... The appearance of this long-awaited book is therefore most welcome. Its authors are not only worldwide leaders of the field, they also are masters of exposition." --D. E. Knuth
This book provides a thorough introduction to the primary techniques used in the mathematical analysis of algorithms. The authors draw from classical mathematical material, including discrete mathematics, elementary real analysis, and combinatorics, as well as from classical computer science material, including algorithms and data structures. They focus on "average-case" or "probabilistic" analysis, although they also cover the basic mathematical tools required for "worst-case" or "complexity" analysis. Topics include recurrences, generating functions, asymptotics, trees, strings, maps, and an analysis of sorting, tree search, string search, and hashing algorithms.
Despite the large interest in the mathematical analysis of algorithms, basic information on methods and models in widespread use has not been directly accessible for work or study in the field. The authors here address this need, combining a body of material that gives the reader both an appreciation for the challenges of the field and the requisite background for keeping abreast of the new research being done to meet these challenges. Highlights:
- Thorough, self-contained coverage for students and professionals in computer science and mathematics
- Focus on mathematical techniques of analysis
- Basic preparation for the advanced results covered in Knuth's books and the research literature
- Classical approaches and results in the analysis of algorithms
020140009XB04062001
Synopsis
This book provides a thorough introduction to the primary techniques used in the mathematical analysis of algorithms. The authors draw from classical mathematical material, including discrete mathematics, elementary real analysis, and combinatories, as well as from classical computer science material, including algorithms and data structures. They focus on "average-case" or "probabilistic" analysis, although they also cover the basic mathematical tools required for "worst-case" or "complexity" analysis. Topics include recurrences, generating functions, asymptotics, trees, strings, maps, and an analysis of sorting, tree search, string search, and hashing algorithms.
Synopsis
Despite the large interest in the mathematical analysis of algorithms, basic information on methods and models in widespread use has not been directly accessible for work or study in the field. The authors here address this need, combining a body of material that gives the reader both an appreciation for the challenges of the field and the requisite background for keeping abreast of the new research being done to meet these challenges. Highlights: *Thorough, self-contained coverage for students and professionals in computer science and mathematics *Focus on mathematical techniques of analysis *Basic preparation for the advanced results covered in Knuth's books and the research literature *Classical approaches and results in the analysis of algorithms 020140009XB04062001
About the Author
Robert Sedgewick is the William O. Baker Professor of Computer Science at Princeton University. He is a Director of Adobe Systems and has served on the research staffs at Xerox PARC, IDA, and INRIA. He earned his Ph.D from Stanford University under Donald E. Knuth.
About Philippe Flajolet The late Philippe Flajolet was a Senior Research Director at INRIA, Rocquencourt, where he created and led the ALGO research group, attracting visiting researchers from all over the world. He is celebrated for having opened new lines of research in the analysis of algorithms, having developed powerful new methods, and having solved difficult, open problems. Dr. Flajolet taught at Ecole Polytechnique and Princeton University; he also held visiting positions at Waterloo University, Stanford University, the University of Chile, the Technical University of Vienna, IBM, and Bell Laboratories. He received several prizes, including the Grand Science Prize of UAP (1986), the Computer Science Prize of the French Academy of Sciences (1994), and the Silver Medal of CNRS (2004). He was elected a Member of the Academia Europaea in 1995 and a Member (Fellow) of the French Academy of Sciences in 2003.
Phillipe passed away suddenly and unexpectedly a few months ago.
020140009XAB06262002
Table of Contents
1. Analysis of Algorithms.
Why Analyze an Algorithm?
Computational Complexity.
Analysis of Algorithms.
Average-Case Analysis.
Example: Analysis of Quicksort.
Asymptotic Approximations.
Distributions.
Probabilistic Algorithms.
2. Recurrence Relations.
Basic Properties.
First-Order Recurrences.
Nonlinear First-Order Recurrences.
Higher-Order Recurrences.
Methods for Solving Recurrences.
Binary Divide-and-Conquer Recurrences and Binary Numbers.
General Divide-and-Conquer Recurrences.
3. Generating Functions.
Ordinary Generating Functions.
Exponential Generating Functions.
Generating Function Solution of Recurrences.
Expanding Generating Functions.
Transformations with Generating Functions.
Functional Equations on Generating Functions.
Solving the Quicksort Median-of-Three.
Recurrence with OGFs.
Counting with Generating Functions.
The Symbolic Method.
Lagrange Inversion.
Probability Generating Functions.
Bivariate Generating Functions.
Special Functions.
4. Asymptotic Approximations.
Notation for Asymptotic Approximations.
Asymptotic Expansions.
Manipulating Asymptotic Expansions.
Asymptotic Approximations of Finite Sums.
Euler-Maclaurin Summation.
Bivariate Asymptotics.
Laplace Method.
“Normal” Examples from the Analysis of Algorithms.
“Poisson” Examples from the Analysis of Algorithms.
Generating Function Asymptotics.
5. Trees.
Binary Trees.
Trees and Forests.
Properties of Trees.
Tree Algorithms.
Binary Search Trees.
Average Path Length in Catalan Trees.
Path Length in Binary Search Trees.
Additive Parameters of Random Trees.
Height.
Summary of Average-Case Results on Properties of Trees.
Representations of Trees and Binary Trees.
Unordered Trees.
Labelled Trees.
Other Types of Trees.
6. Permutations.
Basic Properties of Permutations.
Algorithms on Permutations.
Representations of Permutations.
Enumeration Problems.
Analyzing Properties of Permutations with CGFs.
Inversions and Insertion Sorts.
Left-to-Right Minima and Selection Sort.
Cycles and In Situ Permutation.
Extremal Parameters.
7. Strings and Tries.
String Searching.
Combinatorial Properties of Bitstrings.
Regular Expressions.
Finite-State Automata and Knuth-Morris-Pratt Algorithm.
Context-Free Grammars.
Tries.
Trie Algorithms.
Combinatorial Properties of Tries.
Larger alphabets.
8. Words and Maps.
Hashing with Separate Chaining.
Basic Properties of Words.
Birthday Paradox and Coupon Collector Problem.
Occupancy Restrictions and Extremal Parameters.
Occupancy Distributions.
Open Addressing Hashing.
Maps.
Integer Factorization and Maps. 020140009XT04062001