Lectures
- No slides for this lecture.
- Recurrence relations [pdf]
- Amortised analysis, exceptions, ADTs [pdf]
- Basic datastructures [pdf]
- Priority queues, heaps, heapsort [pdf]
- Binomial and Fibonacci heaps [plain text]
- Binomial and Fibonacci heaps, continued [plain text]
- Red/black trees [plain text]
- Red/black deletion; augmenting data structures [plain text]
- 2-3 trees, B-trees [plain text], splay trees [pdf]
- Random treaps [pdf]
- Tries [plain text]
- Comparison sorts [plain text]
- Analysis of quicksort, lower bound for comparison sorts, linear time sorts [plain text]
- Hashing [plain text]
- Open address hashing, universal hashing [plain text]
- Graphs, dags, adjacency lists, adjacency matrices [plain
text]
- DFS and BFS, strongly connected components [plain text]
- Topological sort & applications [plain text]
- Single-source shortest paths, Dijkstra's algorithm [plain
text]
- All-pairs shortest paths, Floyd-Warshall algorithm [plain
text]
- Huffman coding [plain text], Lempel-Ziv coding [pdf]
- Image compression [plain text]
- Suffix tree applicationss [pdf]
- McCreight's suffix tree algorithm [pdf]