Lectures

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