Added |
13 Feb 2009 |
Updated |
13 Feb 2009 |
Year |
2006 |
Authors |
Jeff Erickson |
Background
Notes on solving recurrences
0. Introduction
1. Divide and conquer
2. Dynamic programming
Randomized algorithms
3. Randomization: Nuts and bolts
4. Randomized treaps
5. Randomized mincut
6. Uniform and universal hashing
A. Skip lists
Amortized analysis
7. Amortized analysis
8. Scapegoat trees and splay trees
9. Union-find
Fibonacci heaps
Graph algorithms
10. Representing and searching graphs
11. Single-source shortest paths
12. All-pairs shortest paths
13. Minimum spanning trees
Seminumerical algorithms
14. Fast Fourier transforms
15. Number-theoretic algorithms
String matching
C. String matching: Rabin-Karp
D. String matching: Knuth-Morris-Pratt
Computational Geometry
E. Convex hulls
F. Plane sweep algorithms
G. Polygon triangulation
Lower bounds
H. Information theory
I. Adversary arguments
J. Reductions and transformations
16. NP-hard, NP-easy, and NP-complete problems