An introduction to the analysis of algorithms
 Responsibility
 Robert Sedgewick, Philippe Flajolet.
 Language
 English.
 Edition
 2nd ed.
 Imprint
 Upper Saddle River, NJ : AddisonWesley, 2013.
 Physical description
 xvii, 572 p. : ill. ; 24 cm
Access
Creators/Contributors
 Author/Creator
 Sedgewick, Robert, 1946
 Contributor
 Flajolet, Philippe.
Contents/Summary
 Bibliography
 Includes bibliographical references and index.
 Contents

 Chapter 1: Analysis of Algorithms 3 1.1 Why Analyze an Algorithm? 3 1.2 Theory of Algorithms 6 1.3 Analysis of Algorithms 13 1.4 AverageCase Analysis 16 1.5 Example: Analysis of Quicksort 18 1.6 Asymptotic Approximations 27 1.7 Distributions 30 1.8 Randomized Algorithms 33 Chapter 2: Recurrence Relations 41 2.1 Basic Properties 43 2.2 FirstOrder Recurrences 48 2.3 Nonlinear FirstOrder Recurrences 52 2.4 HigherOrder Recurrences 55 2.5 Methods for Solving Recurrences 61 2.6 Binary DivideandConquer Recurrences and Binary Numbers 70 2.7 General DivideandConquer Recurrences 80 Chapter 3: Generating Functions 91 3.1 Ordinary Generating Functions 92 3.2 Exponential Generating Functions 97 3.3 Generating Function Solution of Recurrences 101 3.4 Expanding Generating Functions 111 3.5 Transformations with Generating Functions 114 3.6 Functional Equations on Generating Functions 117 3.7 Solving the Quicksort MedianofThree Recurrence with OGFs 120 3.8 Counting with Generating Functions 123 3.9 Probability Generating Functions 129 3.10 Bivariate Generating Functions 132 3.11 Special Functions 140 Chapter 4: Asymptotic Approximations 151 4.1 Notation for Asymptotic Approximations 153 4.2 Asymptotic Expansions 160 4.3 Manipulating Asymptotic Expansions 169 4.4 Asymptotic Approximations of Finite Sums 176 4.5 EulerMaclaurin Summation 179 4.6 Bivariate Asymptotics 187 4.7 Laplace Method 203 4.8 "Normal" Examples from the Analysis of Algorithms 207 4.9 "Poisson" Examples from the Analysis of Algorithms 211 Chapter 5: Analytic Combinatorics 219 5.1 Formal Basis 220 5.2 Symbolic Method for Unlabelled Classes 221 5.3 Symbolic Method for Labelled Classes 229 5.4 Symbolic Method for Parameters 241 5.5 Generating Function Coefficient Asymptotics 247 Chapter 6: Trees 257 6.1 Binary Trees 258 6.2 Forests and Trees 261 6.3 Combinatorial Equivalences to Trees and Binary Trees 264 6.4 Properties of Trees 272 6.5 Examples of Tree Algorithms 277 6.6 Binary Search Trees 281 6.7 Average Path Length in Catalan Trees 287 6.8 Path Length in Binary Search Trees 293 6.9 Additive Parameters of Random Trees 297 6.10 Height 302 6.11 Summary of AverageCase Results on Properties of Trees 310 6.12 Lagrange Inversion 312 6.13 Rooted Unordered Trees 315 6.14 Labelled Trees 327 6.15 Other Types of Trees 331 Chapter 7: Permutations 345 7.1 Basic Properties of Permutations 347 7.2 Algorithms on Permutations 355 7.3 Representations of Permutations 358 7.4 Enumeration Problems 366 7.5 Analyzing Properties of Permutations with CGFs 372 7.6 Inversions and Insertion Sorts 384 7.7 LefttoRight Minima and Selection Sort 393 7.8 Cycles and In Situ Permutation 401 7.9 Extremal Parameters 406 Chapter 8: Strings and Tries 415 8.1 String Searching 416 8.2 Combinatorial Properties of Bitstrings 420 8.3 Regular Expressions 432 8.4 FiniteState Automata and the KnuthMorrisPratt Algorithm 437 8.5 ContextFree Grammars 441 8.6 Tries 448 8.7 Trie Algorithms 453 8.8 Combinatorial Properties of Tries 459 8.9 Larger Alphabets 465 Chapter 9: Words and Mappings 473 9.1 Hashing with Separate Chaining 474 9.2 The BallsandUrns Model and Properties of Words 476 9.3 Birthday Paradox and Coupon Collector Problem 485 9.4 Occupancy Restrictions and Extremal Parameters 495 9.5 Occupancy Distributions 501 9.6 Open Addressing Hashing 509 9.7 Mappings 519 9.8 Integer Factorization and Mappings 532 List of Theorems 543 List of Tables 545 List of Figures 547 Index 551.
 (source: Nielsen Book Data)
 Publisher's Summary
 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 resultscovered in their monograph Analytic Combinatorics and in Donald Knuth's The Art of Computer Programming booksand 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.
(source: Nielsen Book Data)
Subjects
 Subject
 Computer algorithms.
Bibliographic information
 Publication date
 2013
 ISBN
 9780321905758 (hbk.)
 032190575X (hbk.)