The following slides are for the Advanced Algorithms unit of the Computer Science department at the University of Bristol. The authors of the lecture slides are stated on the front page of each set of slides. To report typos please post to the unit discussion board.
Full book titles (for CLRS, MU etc.) and references are given at the bottom of the page. There will also be 5 problems classes which will take place during a normal lecture slot in the Ada Lovelace building, room SM2.
Lecture | Topic | Slides | Readings |
1 Week 1 |
Mathematical preliminaries | Slides Shorter |
MIT Course Notes I, MIT Course Notes II, MIT Course Notes III. See also CLRS, Appendix C.1–C.3 |
2 Week 1 |
Hash functions | Slides Shorter |
MIT Notes covering lectures 2,3 and 4. CLRS 11.3.3, MU p. 90–93, 314–328 Very nice exploration of theoretically sound practical hashing |
3 Week 2 |
Static perfect hashing | Slides Shorter |
CLRS 11.5 |
4 Week 2 |
Cuckoo hashing | Slides Shorter |
Cuckoo hashing for undergraduates. |
5 Week 3 |
Bloom filters | Slides Shorter |
Survey. |
- Week 3 |
Problems class | Problem Sheet 1 | |
6 Week 3 |
van Emde Boas tree | Slides Shorter |
Chapter 20 of CLRS |
7 Week 4 |
Orthogonal range queries | Slides Shorter |
Chapter 5 of BCKO |
8 Week 4 |
Suffix trees | Slides Shorter |
See Gusfield, Part II |
9 Week 5 |
Suffix arrays | Slides Shorter |
Section 3 of this paper |
- Week 5 |
Problems class | Problem Sheet 1, Solutions | |
10 Week 5 |
Range Minimum Queries (RMQ) | Slides Shorter |
Simplified LCA paper |
11 Week 7 |
Lowest common ancestor (LCA) | Slides Shorter |
|
- Week 7 |
Problems class | Problem Sheet 2, Solutions | |
12 Week 7 |
Approximation algorithms I | Slides Shorter |
|
13 Week 8 |
Approximation algorithms II | Slides Shorter |
|
- Week 8 |
Problems class | Problem Sheet 3, Solutions | |
14 Week 8 |
Approximation algorithms III | Slides Shorter |
|
- Week 12 |
Problems class | Problem Sheet 4, Solutions |
[JE] Excellent notes by Jeff Erickson. These are freely available.
[DPV] S. Dasgupta, C.H. Papadimitriou and U.V. Vazirani. Algorithms. A draft is available online.
[Gusfield] D. Gusfield. Algorithms on Strings Trees and Sequences. Freely available online (as well as a physical copy) via the Bristol library system.
[MU] M. Mitzenmacher and E. Upfal. Probability and Computing.
[BCKO] M. de Berg, O. Cheong, M. van Kreveld, M. Overmars. Computational Geometry: algorithms and applications. Available online. (If anyone has reason to believe this copy is not legally provided, please contact me and I will take it down.)
[KT] J. Kleinerg and E. Tardos. Algorithm Design.