I Fundamental Tools |
|
1 | (284) |
|
|
3 | (52) |
|
Methodologies for Analyzing Algorithms |
|
|
5 | (8) |
|
|
13 | (8) |
|
A Quick Mathematical Review |
|
|
21 | (10) |
|
Case Studies in Algorithm Analysis |
|
|
31 | (3) |
|
|
34 | (8) |
|
|
42 | (5) |
|
|
47 | (8) |
|
|
55 | (84) |
|
|
57 | (8) |
|
Vectors, Lists, and Sequences |
|
|
65 | (10) |
|
|
75 | (19) |
|
Priority Queues and Heaps |
|
|
94 | (20) |
|
Dictionaries and Hash Tables |
|
|
114 | (14) |
|
|
128 | (3) |
|
|
131 | (8) |
|
Search Trees and Skip Lists |
|
|
139 | (78) |
|
Ordered Dictionaries and Binary Search Trees |
|
|
141 | (11) |
|
|
152 | (7) |
|
Bounded-Depth Search Trees |
|
|
159 | (26) |
|
|
185 | (10) |
|
|
195 | (7) |
|
Java Example: AVL and Red-Black Trees |
|
|
202 | (10) |
|
|
212 | (5) |
|
Sorting, Sets, and Selection |
|
|
217 | (40) |
|
|
219 | (6) |
|
The Set Abstract Data Type |
|
|
225 | (10) |
|
|
235 | (4) |
|
A Lower Bound on Comparison-Based Sorting |
|
|
239 | (2) |
|
Bucket-Sort and Radix-Sort |
|
|
241 | (3) |
|
Comparison of Sorting Algorithms |
|
|
244 | (1) |
|
|
245 | (3) |
|
Java Example: In-Place Quick-Sort |
|
|
248 | (3) |
|
|
251 | (6) |
|
|
257 | (28) |
|
|
259 | (4) |
|
|
263 | (11) |
|
|
274 | (8) |
|
|
282 | (3) |
II Graph Algorithms |
|
285 | (130) |
|
|
287 | (52) |
|
The Graph Abstract Data Type |
|
|
289 | (7) |
|
Data Structures for Graphs |
|
|
296 | (7) |
|
|
303 | (13) |
|
|
316 | (13) |
|
Java Example: Depth-First Search |
|
|
329 | (6) |
|
|
335 | (4) |
|
|
339 | (42) |
|
Single-Source Shortest Paths |
|
|
341 | (13) |
|
|
354 | (6) |
|
|
360 | (13) |
|
Java Example: Dijkstra's Algorithm |
|
|
373 | (3) |
|
|
376 | (5) |
|
Network Flow and Matching |
|
|
381 | (34) |
|
|
383 | (4) |
|
|
387 | (9) |
|
Maximum Bipartite Matching |
|
|
396 | (2) |
|
|
398 | (7) |
|
Java Example: Minimum-Cost Flow |
|
|
405 | (7) |
|
|
412 | (3) |
III Internet Algorithmics |
|
415 | (130) |
|
|
417 | (34) |
|
Strings and Pattern Matching Algorithms |
|
|
419 | (10) |
|
|
429 | (11) |
|
|
440 | (3) |
|
|
443 | (4) |
|
|
447 | (4) |
|
Number Theory and Cryptography |
|
|
451 | (60) |
|
Fundamental Algorithms Involving Numbers |
|
|
453 | (18) |
|
Cryptographic Computations |
|
|
471 | (10) |
|
Information Security Algorithms and Protocols |
|
|
481 | (7) |
|
The Fast Fourier Transform |
|
|
488 | (12) |
|
|
500 | (8) |
|
|
508 | (3) |
|
|
511 | (34) |
|
Complexity Measures and Models |
|
|
513 | (4) |
|
Fundamental Distributed Algorithms |
|
|
517 | (13) |
|
Broadcast and Unicast Routing |
|
|
530 | (5) |
|
|
535 | (6) |
|
|
541 | (4) |
IV Additional Topics |
|
545 | (140) |
|
|
547 | (44) |
|
|
549 | (7) |
|
|
556 | (5) |
|
|
561 | (4) |
|
The Plane Sweep Technique |
|
|
565 | (7) |
|
|
572 | (11) |
|
Java Example: Convex Hull |
|
|
583 | (4) |
|
|
587 | (4) |
|
|
591 | (52) |
|
|
593 | (6) |
|
|
599 | (4) |
|
Important NP - Complete Problems |
|
|
603 | (15) |
|
|
618 | (9) |
|
Backtracking and Branch-and-Bound |
|
|
627 | (11) |
|
|
638 | (5) |
|
|
643 | (42) |
|
External-Memory Algorithms |
|
|
645 | (12) |
|
|
657 | (10) |
|
|
667 | (13) |
|
|
680 | (5) |
A Useful Mathematical Facts |
|
685 | (4) |
Bibliography |
|
689 | (9) |
Index |
|
698 | |