Preface |
|
xiii | |
List of Symbols and Notation |
|
xvii | |
1 Introduction |
|
1 | (12) |
|
1.1 Computing machines and models |
|
|
1 | (6) |
|
|
1 | (2) |
|
|
3 | (2) |
|
|
5 | (2) |
|
|
7 | (6) |
2 Counting |
|
13 | (36) |
|
|
13 | (11) |
|
2.1.1 Multivariate generating functions and special numbers |
|
|
17 | (3) |
|
2.1.2 The principle of inclusion and exclusion |
|
|
20 | (4) |
|
2.2 Stirling numbers: Combinatorial interpretation |
|
|
24 | (5) |
|
2.2.1 Stirling numbers of the first kind |
|
|
25 | (1) |
|
2.2.2 Stirling numbers of the second kind |
|
|
26 | (1) |
|
2.2.3 Stirling numbers and powers |
|
|
27 | (2) |
|
2.3 Expansion of generating functions |
|
|
29 | (7) |
|
2.3.1 Direct expansion of functions |
|
|
29 | (5) |
|
2.3.2 Lagrange inversion theorem |
|
|
34 | (2) |
|
2.4 Generating functions in probability |
|
|
36 | (4) |
|
2.4.1 Convolution of random variables |
|
|
38 | (2) |
|
2.5 Generating functions in the solution of recurrences |
|
|
40 | (4) |
|
|
44 | (5) |
3 Symbolic Calculus |
|
49 | (22) |
|
3.1 Admissible operations |
|
|
51 | (9) |
|
3.1.1 The sum and product rules |
|
|
51 | (5) |
|
3.1.2 Labeled combinatorial operations |
|
|
56 | (4) |
|
3.2 Applications of the symbolic calculus |
|
|
60 | (9) |
|
3.2.1 Compositions of integers |
|
|
60 | (4) |
|
3.2.2 Positional tree counting |
|
|
64 | (1) |
|
3.2.3 Plane tree counting |
|
|
65 | (1) |
|
3.2.4 Rooted oriented trees |
|
|
66 | (3) |
|
|
69 | (2) |
4 Languages and Their Generating Functions |
|
71 | (34) |
|
|
74 | (3) |
|
4.2 Finite-state automata |
|
|
77 | (3) |
|
4.3 Finite-state automata and regular languages |
|
|
80 | (5) |
|
4.4 Generating functions and their regular languages |
|
|
85 | (3) |
|
|
85 | (1) |
|
4.4.2 Solutions to word equations |
|
|
86 | (2) |
|
4.5 Counting regular languages |
|
|
88 | (14) |
|
4.5.1 A matricial alternative to word equations |
|
|
93 | (4) |
|
4.5.2 Admissibility considerations |
|
|
97 | (5) |
|
|
102 | (3) |
5 Probability in Algorithmics |
|
105 | (56) |
|
|
108 | (10) |
|
5.1.1 Independence of discrete random variables |
|
|
110 | (2) |
|
5.1.2 Probability spaces for sequences of random variables arising in combinatorial objects |
|
|
112 | (3) |
|
5.1.3 Illustration via runs |
|
|
115 | (3) |
|
5.2 Characteristic functions |
|
|
118 | (2) |
|
|
120 | (2) |
|
|
122 | (9) |
|
|
123 | (2) |
|
5.4.2 Chebyshev inequality |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
127 | (2) |
|
|
129 | (2) |
|
5.5 Modes of probabilistic convergence |
|
|
131 | (7) |
|
5.6 Some classic results from probability theory |
|
|
138 | (6) |
|
5.6.1 Weak and strong laws |
|
|
139 | (4) |
|
5.6.2 Further convergence theorems |
|
|
143 | (1) |
|
5.7 Central limit theorems |
|
|
144 | (3) |
|
|
147 | (3) |
|
5.9 Generating random numbers |
|
|
150 | (4) |
|
5.9.1 The probability integral transform |
|
|
152 | (2) |
|
|
154 | (7) |
6 Functional Transforms |
|
161 | (26) |
|
|
161 | (10) |
|
6.1.1 Properties of the Mellin transform |
|
|
161 | (6) |
|
|
167 | (4) |
|
|
171 | (11) |
|
6.2.1 Algebraic depoissonization-uniform distribution |
|
|
175 | (3) |
|
6.2.2 Algebraic depoissonization-arbitrary distributions |
|
|
178 | (3) |
|
6.2.3 Asymptotics of the Poisson transform |
|
|
181 | (1) |
|
|
182 | (5) |
7 Nonuniform Polya Urn Schemes |
|
187 | (40) |
|
|
187 | (2) |
|
|
189 | (1) |
|
7.3 Polya urns with ball activity |
|
|
190 | (24) |
|
7.3.1 Polya-Eggenberger urn with ball activity |
|
|
191 | (3) |
|
7.3.2 Ehrenfest urn with ball activity |
|
|
194 | (4) |
|
7.3.3 Bagchi-Pal urn schemes with ball activity |
|
|
198 | (11) |
|
7.3.4 Triangular urns with ball activity |
|
|
209 | (5) |
|
7.4 A nonuniform Polya process |
|
|
214 | (8) |
|
|
222 | (5) |
8 Nonuniform Data Models |
|
227 | (68) |
|
8.1 Restricted permutations |
|
|
227 | (12) |
|
8.1.1 The combinatorics of 1-away permutations |
|
|
229 | (6) |
|
8.1.2 Properties of 1-away permutations via recurrences |
|
|
235 | (4) |
|
8.2 Automata for restricted permutations |
|
|
239 | (5) |
|
8.2.1 1-away permutations |
|
|
239 | (2) |
|
8.2.2 2-away permutations |
|
|
241 | (3) |
|
|
244 | (15) |
|
8.3.1 Inversions in random multisets |
|
|
246 | (11) |
|
8.3.2 Multinomially generated multisets |
|
|
257 | (2) |
|
|
259 | (15) |
|
8.4.1 Optimal binary search trees |
|
|
262 | (3) |
|
8.4.2 Bounds on the (optimal) access cost |
|
|
265 | (4) |
|
8.4.3 Nearly optimal binary search trees |
|
|
269 | (4) |
|
8.4.4 Binary search trees-unknown p |
|
|
273 | (1) |
|
|
274 | (13) |
|
8.5.1 The Bernoulli model |
|
|
275 | (1) |
|
8.5.2 Depth of nodes in a trie |
|
|
276 | (8) |
|
|
284 | (3) |
|
|
287 | (8) |
9 Sorting Nonuniform Data |
|
295 | (26) |
|
|
295 | (2) |
|
|
297 | (9) |
|
9.2.1 Linear insertion sort |
|
|
298 | (1) |
|
9.2.2 Inversions under the uniform random permutation model |
|
|
299 | (2) |
|
9.2.3 Performance on a slightly perturbed input |
|
|
301 | (1) |
|
9.2.4 Sorting a partially sorted file |
|
|
302 | (3) |
|
9.2.5 Insertion sort for multisets |
|
|
305 | (1) |
|
|
306 | (12) |
|
9.3.1 Three-way partition |
|
|
308 | (2) |
|
9.3.2 Analysis of Quick Sort for random multisets |
|
|
310 | (8) |
|
|
318 | (3) |
10 Recursive Trees |
|
321 | (48) |
|
10.1 Uniform recursive trees |
|
|
323 | (6) |
|
10.1.1 Outdegrees in uniform recursive trees |
|
|
323 | (2) |
|
10.1.2 Depth of nodes in a uniform recursive tree |
|
|
325 | (1) |
|
10.1.3 Leaves in uniform recursive trees |
|
|
326 | (3) |
|
10.2 Trees with vertex affinity proportional to age |
|
|
329 | (5) |
|
10.2.1 Degree profile in age-affinity random recursive trees |
|
|
330 | (1) |
|
10.2.2 Depth of nodes in an age-affinity random recursive tree |
|
|
331 | (1) |
|
10.2.3 Leaves in age-affinity random recursive trees |
|
|
332 | (2) |
|
10.3 Recursive trees grown under the power of choice |
|
|
334 | (8) |
|
10.3.1 Degree profile of k-minimal-label recursive trees |
|
|
335 | (3) |
|
10.3.2 Depth of nodes in k-minimum-label tree models |
|
|
338 | (3) |
|
10.3.3 Maximal-label recursive tree |
|
|
341 | (1) |
|
10.4 Preferential attachment tree model |
|
|
342 | (7) |
|
10.4.1 Leaves in a random PORT |
|
|
344 | (1) |
|
10.4.2 Depth of nodes in a random PORT |
|
|
345 | (4) |
|
|
349 | (11) |
|
10.5.1 Building trees from random tree blocks |
|
|
349 | (2) |
|
10.5.2 Leaves in a blocks tree |
|
|
351 | (1) |
|
10.5.3 Depth of nodes in blocks trees |
|
|
352 | (5) |
|
10.5.4 The height of a random blocks tree |
|
|
357 | (3) |
|
|
360 | (5) |
|
10.6.1 The number of species |
|
|
361 | (3) |
|
10.6.2 Sizes of species populations |
|
|
364 | (1) |
|
|
365 | (4) |
11 Series-Parallel Graphs |
|
369 | (32) |
|
11.1 Some models of binary series-parallel graphs |
|
|
371 | (3) |
|
11.2 Enumerating binary series-parallel graphs |
|
|
374 | (3) |
|
11.3 The order of binary series-parallel graphs |
|
|
377 | (4) |
|
11.3.1 The order of factorial binary series-parallel graphs |
|
|
377 | (2) |
|
11.3.2 The order of Catalan binary series-parallel graphs |
|
|
379 | (2) |
|
11.4 Path length in binary series-parallel graphs |
|
|
381 | (10) |
|
11.4.1 Path length under the factorial model |
|
|
381 | (4) |
|
11.4.2 Path length under the Catalan model |
|
|
385 | (6) |
|
11.5 A series-parallel graph with unrestricted degrees |
|
|
391 | (8) |
|
11.5.1 Nodes of small outdegree |
|
|
392 | (7) |
|
|
399 | (2) |
Bibliography |
|
401 | (17) |
Solutions |
|
418 | (141) |
Index |
|
559 | |