推荐理由
分析算法的人享有双重的幸福。首先,他们能够体验到优雅数学模式纯粹的美,这处模式存在于优美的计算过程之中。其次,当他们的理论使得其他工作能够做得更快、更经济时,他们得到的是实际的褒奖。因此,我们盼望已久的这部著作极受欢迎。该书作者不仅是该领域世界范围内的领袖,而且还是阐述的大师。
——Donald E. Knuth
内容简介
本书全面介绍了算法的数学分析所需要使用的主要技术,包括经典的数学内容(如离散数学、初等实分析、组合学等)以及经典的计算机科学内容(如算法和数据结构等)。书中重点强调了平均情形下的算法分析,同时也包含对最坏情形下的算法分析。
尽管人们极为关注算法的数学分析,但是广泛使用的方法和模型方面的基本信息尚不能为该领域的工作和研究所直接使用。作者在本书中处理这种需求,把该领域出现的挑战以及为跟上新的研究以迎接这些挑战所必需的背景资料完美地结合在一起。
本书作者
Robert Sedgewick斯坦福大学博士(导师为Donald E.Knuth),普林斯顿大学计算机科学系教授,Adobe Systems公司董事,曾是Xerox PARC的研究人员,还曾就职于美国国防部防御分析研究所以及INRIA。
目录
TABLE OF CONTENTS
CHAPTER ONE: ANALYSIS OF ALGORITHMS
1.1 Why Analyze an Algorithm?
1.2 Computational Complexity
1.3 Analysis of Algorithms
1.4 Average-Case Analysis
1.5 Example: Analysis of Quieksort
1.6 Asymptotic Approximations
1.7 Distributions
1.8 Probabilistic Algorithms
CHAPTER TWO: RECURRENCE RELATIONS
2.1 Basic Properties
2.2 First-Order Recurrences
2.3 Nonlinear First-Order Recurrences
2.4 Higher-Order Recurrences
2.5 Methods for Solving Recurrences
2.6 Binary Divide-and-Conquer Recurrences and Binary Numbers
2.7 General Divide-and-Conquer Recurrences
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 Median-of-Three Recurrence with OGFs
3.8 Counting with Generating Functions
3.9 The Symbolic Method
3.10 Lagrange Inversion
3.11 Probability Generating Functions
3.12 Bivariate Generating Functions
3.13 Special Functions
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 Euler-Maclaurin 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
4.10 Generating Function Asymptotics
CHAPTER FIVE: TREES
5.1 Binary Trees
5.2 Trees and Forests
5.3 Properties of Trees
5.4 Tree Algorithms
5.5 Binary Search Trees
5.6 Average Path Length in Catalan Trees
5.7 Path Length in Binary Search Trees
5.8 Additive Parameters of Random Trees
5.9 Height
5.10 Summary of Average-Case Results on Properties of Trees
5.11 Representations of Trees and Binary Trees
5.12 Unordered Trees
5.13 Labelled Trees
5.14 Other Types of Trees
CHAPTER SIX: PERMUTATIONS
6.2 Algorithms on Permutations
6.3 Representations of Permutations
6.4 Enumeration Problems
6.5 Analyzing Properties of Permutations with CGFs
6.6 Inversions and Insertion Sorts
6.7 Left-to-Right Minima and Selection Sort
6.8 Cycles and In Situ Permutation
6.9 Extremal Parameters
CHAPTER SEVEN: STRINGS AND TRIES
7.1 String Searching
7.2 Combinatorial Properties of Bitstrings
7.3 Regular Expressions
7.4 Finite-State Automata and the Knuth-Morris-Pratt Algorithm
7.5 Context-Free Grammars
7.6 Tries
7.7 ride Algorithms
7.8 Combinatorial Properties of Tries
7.9 Larger Alphabets
CHAPTER EIGHT: WORDS AND MAPS
8.1 Hashing with Separate Chaining
8.2 Basic Properties of Words
8.3 Birthday Paradox and Coupon Collector Problem
8.4 Occupancy Restrictions and Extremal Parameters
8.5 Occupancy Distributions
8.6 Open Addressing Hashing
8.7 Maps
8.8 Integer Factorization and Maps
List of Theorems
Index