As a comprehensive survey of the major techniques of average case analysis, this work presents, in detail, both analytic methods used for well–structured algorithms and probabilistic methods used for more structurally complex algorithms. In particular, the applications in the book use algorithms that focus on data structures on sequences, also called strings, which are widely used in computer science, computational biology, and information theory. Specific techniques covered include the inclusion–exclusion principle, the first and second moment methods, the random coding technique, the subadditive ergodic theorem, large deviations, generating functions, complex asymptotic methods, the Mellin transform, and analytic poissonization and depoissonization. Each method is clearly explained and accompanied by related applications and problems involving algorithms on sequences.
Important features of the book include:
∗ A foreword by well–known expert Dr. Philippe Flajolet, INRIA, France
∗ Presentation of complex analysis used to solve discrete and probabilistic problems on sequences
∗ Discussions of Lempel–Ziv data compression–schemes, the string edit problem, pattern matching algorithms, many variations of digital trees, the leader election algorithm, and more
∗ A chapter devoted to tools used in information theory, particularly the random coding technique and pattern matching approach to data compression
∗ Application sections in each chapter that illustrate the methods covered
∗ An extensive bibliography
PROBLEMS ON WORDS.
Data Structures and Algorithms on Words.
Probabilistic and Analytical Models.
PROBABILISTIC AND COMBINATORIAL TECHNIQUES.
The First and Second Moment Methods.
Subadditive Ergodic Theorem and Large Deviations.
Elements of Information Theory.
Complex Asymptotic Methods.
Mellin Transform and Its Applications.
Analytic Poissonization and Depoissonization.
"...contains a comprehensive treatment on probabilistic, combinatorial, and analytical techniques and methods...treatment is clear, rigorous, self–contained, with many examples and exercises." (Zentralblatt MATH Vol. 968, 2001/18)
"This well–organized book...is certainly useful...It is a valuable source for a deeper and more precise understanding of the behaviors of algorithms on sequences." (Mathematical Reviews, 2002f)