# Course - Algorithms and Data Structures HT24

> Source: https://ollybritton.com/notes/uni/part-a/ht24/ads/ · Updated: 2026-05-15 · Tags: uni, course

> Follows on from [Course - Design and Analysis of Algorithms HT23](https://ollybritton.com/notes/uni/prelims/ht23/daa/) and explores some more advanced topics in the analysis of algorithms and data structures. Introduces amortised analysis (rather than viewing each operation on a data structure independently, how do they perform over a series of operations?). Formally defines $\mathbf P$ and $\mathbf{NP}$ and analyses some techniques for tackling $\mathbf{NP}$ problems; namely kernelisation, LP relaxation, and approximation algorithms.

- [Course Webpage](https://www.cs.ox.ac.uk/teaching/courses/2023-2024/algorithms/)
- [Lecture Slides](#slides)
- Successor to: [Course - Design and Analysis of Algorithms HT23](https://ollybritton.com/notes/uni/prelims/ht23/daa/)
- Other courses from this term: [Courses HT24](https://ollybritton.com/notes/uni/part-a/ht24/courses/)

### Notes
- [Notes - ADS HT24, Amortized analysis](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/amortized-analysis/)
- [Notes - ADS HT24, Binary search trees](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/binary-search-trees/)
- [Notes - ADS HT24, Splay trees](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/splay-trees/)
- [Notes - ADS HT24, Red-black trees](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/red-black-trees/)
- [Notes - ADS HT24, Disjoint sets](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/disjoint-sets/)
- [Notes - ADS HT24, Flow networks](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/flow-networks/)
- [Notes - ADS HT24, Circulations](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/circulations/)
- [Notes - ADS HT24, Kernelisation](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/kernelisation/)
- [Notes - ADS HT24, NP-hardness and NP-completeness](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/np-hardness-and-np-completeness/)
- [Notes - ADS HT24, Linear programming](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/linear-programming/)
- [Notes - ADS HT24, Matching](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/matching/)
- [Notes - ADS HT24, Zero-sum games](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/zero-sum-games/)
- [Notes - ADS HT24, Approximation algorithms](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/approximation-algorithms/)
- [Notes - ADS HT24, Colour coding](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/colour-coding/)
- [Notes - ADS HT24, Randomised rounding](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/randomised-rounding/)
- [Notes - ADS HT24, Parameterised complexity](https://ollybritton.com/notes/uni/part-a/ht24/ads/notes/parameterised-complexity/)

### Other relevant notes
- [Notes - Computational Complexity HT25, Index of reductions](https://ollybritton.com/notes/uni/part-b/ht25/computational-complexity/notes/index-of-reductions/)

### Problem Sheets
- [Sheet 1](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw1.pdf)
- [Sheet 2](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw2.pdf)
- [Sheet 3](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw3.pdf)
- [Sheet 4](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw4.pdf)
- [Sheet 5](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw5.pdf)
- [Sheet 6](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw6.pdf)
- [Sheet 7](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw7.pdf), [solutions](https://courses.cs.ox.ac.uk/pluginfile.php/11269/mod_folder/content/0/hw7-solutions.pdf?forcedownload=1)

### Slides
- [Slides 0](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec0.pdf)
- [Slides 1](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec1-notransitions.pdf)
- [Slides 2](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec2-notransitions.pdf)
- [Slides 3](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec3-notransitions.pdf)
- [Slides 4](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec4-notransitions.pdf)
- [Slides 5](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec5-notransitions.pdf)
- [Slides 6](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec6-notransitions.pdf)
- [Slides 7](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec7-notransitions.pdf)
- [Slides 8](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec8-notransitions.pdf)
- [Slides 9](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec9-notransitions.pdf)
- [Slides 10](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec10-notransitions.pdf)
- [Slides 11](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec11-notransitions.pdf)
- [Slides 12](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec12-notransitions.pdf)
- [Slides 13](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec13-notransitions.pdf)
- [Slides 14](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec14-notransitions.pdf)
- [Slides 15](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec15-notransitions.pdf)
- [Slides 16](https://courses.cs.ox.ac.uk/pluginfile.php/11266/mod_folder/content/0/lec16-notransitions.pdf)

---
Olly Britton — https://ollybritton.com. Machine-readable index: https://ollybritton.com/llms.txt
