Course - Algorithms and Data Structures HT24
Follows on from [[Course - Design and Analysis of Algorithms HT23]]U 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
- Lecture Slides
- Successor to: [[Course - Design and Analysis of Algorithms HT23]]U
- Other courses from this term: [[Courses HT24]]U
Notes
- [[Notes - ADS HT24, Amortised analysis]]U
- [[Notes - ADS HT24, Approximation algorithms]]U
- [[Notes - ADS HT24, Binary search trees]]U
- [[Notes - ADS HT24, Circulations]]U
- [[Notes - ADS HT24, Colour coding]]U
- [[Notes - ADS HT24, Disjoint sets]]U
- [[Notes - ADS HT24, Flow networks]]U
- [[Notes - ADS HT24, Kernelisation]]U
- [[Notes - ADS HT24, Linear programming]]U
- [[Notes - ADS HT24, Matchings]]U
- [[Notes - ADS HT24, NP-hardness and NP-completeness]]U
- [[Notes - ADS HT24, Parameterised complexity]]U
- [[Notes - ADS HT24, Randomised rounding]]U
- [[Notes - ADS HT24, Red-black trees]]U
- [[Notes - ADS HT24, Splay trees]]U
- [[Notes - ADS HT24, Zero-sum games]]U