Algorithm Design & Analysis

Course: COMP50001 - 21/22, Lecturer: Dr Nicolas Wu

Course Notes

The course notes evolve as the course is taught, and can be found here:

Lecture Notes

Week Lecture Links
2 Lecture 1 : Introduction (notes) (video)
Lecture 2 : Evaluation (notes) (video)
Lecture 3 : Asymptotics (notes) (video)
3 Lecture 4 : Lists (notes) (video)
Lecture 5 : Abstraction (notes) (video) (code)
4 Lecture 6 : Divide & Conquer (notes) (video)
Lecture 7 : Dynamic Programming (notes) (video)
5 Lecture 8 : Amortized Analysis (notes) (video)
Lecture 9 : Amortized Incrementing (notes) (video)
6 Lecture 10 : Random Access Lists (notes) (video)
Lecture 11 : Search Trees (notes) (video)
7 Lecture 12 : Red-Black Trees I (notes) (video)
Lecture 13 : Red-Black Trees II (notes) (video)
8 Lecture 14 : Randomized Algorithms (notes) (video)
Lecture 15 : Treaps (notes) (video)
9 Lecture 16 : Mutable Algorithms I (notes) (video)
Lecture 17 : Mutable Algorithms II (notes) (video)
10 Lecture 18 : Finger Trees I (notes) (video)
Lecture 19 : Finger Trees II (notes) (video)

Exercise Sheets

Week Sheet Links
3 Sheet 1 (exercises) (solutions) (notes) (video)
4 Sheet 2 (exercises) (solutions) (notes) (video)
5 Sheet 3 (exercises) (solutions) (notes) (video)
6 Sheet 4 (exercises) (solutions) (notes) (video)
7 Sheet 5 (exercises) (solutions) (notes) (video)
8 Sheet 6 (exercises) (solutions) (notes) (video)
9 Sheet 7 (exercises) (solutions) (notes) (video)

Coursework