Lecture Notes
- Summations (not covered in class, but you'll need to know this anyway)
[summations.pdf]
- Asymptotic Complexity
[asymptotic.pdf]
- Recurrence Relations
[recurrences.pdf]
- Heapsort
[heapsort.pdf]
- Quicksort
[quicksort.pdf]
- Lower Bounds
[lowerbounds.pdf]
- Radix Sort
[radixsort.pdf]
- Order Statistics
[order.pdf]
- Hash tables
[hash.pdf]
- Binary Search Trees
[bst.pdf]
- Red Black Trees
[rb.pdf]
- Dynamic Programming (Matrix Chain Product)
[dp1.pdf]
- Dynamic Programming (Longest Common Subsequence)
[dp2.pdf]
- Greedy Algorithms (Activity Selection)
[greedy1.pdf]
- Greedy Algorithms (Huffman Coding)
[greedy2.pdf]
- Graphs (Basics, Traversals)
[graph_basics.pdf]
- Graphs (Minimum Spanning Trees)
[spanningtree.pdf]
- Graphs (Shortest Paths)
[shortestpaths.pdf]
- Graphs (Max Flow)
[maxflow.pdf]
- Graphs (Matching in Bipartite Graphs)
[bipartite.pdf]
- Amortization
[amortization.pdf]
- Binomial heaps
[binomial.pdf]
- Fibonacci heaps
[fibonacci.pdf]
- Disjoint Sets
[disjoint.pdf]
- NP Completeness
[np.pdf]