1 Models of Computation
1.1 Algorithms and their complexity
1.2 Random access machines
1.3 Computational complexity of RAM programs
1.4 A stored program model
1.5 Abstractons of the ARM
1.6 A primitive model of computation:the Turing machine
1.7 Relationship between the Turing machine and RAM models
1.8 Pidgin ALGOL-a high-level lanuage
2 Design of Efficient Algorlthms
2.1 Data structures:lists,queues ,and stacks
2.2 Set representations
2.3 Graphs
2.4 Trees
2.5 Recursion
2.6 Divide-and -conquer
2.7 Balancing
2.8 Dynamic programming
2.9 Epilogue
3 Sorting and Order Statistics
3.1 The Sorting problem
3.2 Radix Sorting
3.3 Sorting by comparisons
3.4 Heapsort-An O Comparison sort
3.5 Quicksort-an O expected time sort
3.6 Order statistics
3.7 Expected time for order statistics
4 Data Structures for Set Manipulation Problems
4.1 Fundamental operations on sels
4.2 Hashing
4.3 Binary search
4.4 Binary search trees
4.5 Optimal binary search trees
4.6 A simple disjoint-set union algorithm
4.7 Tree Structures for the UNION-FIND problem
4.8 Applications and extensions of the UNION-FIND algorithm
4.9 Balanced tree schemes
4.10 Dictionaries and priorty queues
4.11 Mergeable heaps
4.12 Concatenable queues
4.13 Partitioning
4.14 Chapter summary
5 Algorithms on Graphs
6 Matrix Multiplication and Related Operations
7 The Fast Fourier Transform and its Applications
8 Integer and Polynomial Arithmetic
9 Pattern-Matching Algorithms
10 NP-Complete Problems
11 Some Provably Intractable Problems
12 Lower Bounds on Numbers of Arithmetic Operations
Bibllography
Indes
^ 收 起