Mathematics course U34605, Michaelmas term 2020. Online notes.

1. Sequential search
2. Binary search
3. An inefficient sorting routine in a short program
4. Mergesort
5. Forests and binary trees
6. Preorder, inorder, and postorder
7. Binary search trees
8. Counting binary trees: a detour
9. Red-Black (search) trees
10. Splay trees
11. Hash tables: chaining
12. Open addressing: uniform and double hashing
13. Open addressing: linear rehashing
14. Lexical sort
15. Digraphs
16. Topological sort
17. Depth-first search
18. Sharir's SCC algorithm
19. Undirected graphs
20. Biconnected components
21. Planar graphs
22. Hopcroft-Tarjan algorithm
23. Hopcroft-Tarjan, continued
24. The Union-Find problem
25. Dijkstra's algorithm
26. Lower bound for sorting
27. Knuth-Morris-Pratt (maybe or maybe later)