Algorithms
Course arrangements
- Lecture notes
– for lectures 1–12,
plus example sheets
– for lectures 13–23, plus example sheets 4, 5, and 6, and code - Schedule The table below shows what the lecture timetable would have been, were it not for COVID measures. It lists example sheets at the stage at which the material has been covered. You are encouraged to keep to this schedule — you should watch videos, study lecture notes, and work on the example sheets and ticks on the dates below. If you binge-watch the whole set at 1.5× speed in one weekend, you are unlikely to reach the same level of understanding and retention! Please do not run behind the schedule: Cambridge terms are short and intense, and things quickly snowball, and it becomes very hard to catch up.
- Auditing this course The lecturers (who retain the copyright and performance rights over their lectures) have chosen to make their video lectures globally available. If you wish to audit this course, you are welcome to watch the videos and you do not need to request permission. We regret we cannot make the automated coding assessments ('ticks') public.
Videos and example sheets
Here are the videos for each lecture. The Recordings tab has YouTube playlists, including extra videos that go into more depth on some topics.
Tick 2 (due 21 Feb)
Lecture 8
8 Feb
8 Feb
Lecture 12
17 Feb
17 Feb
Lecture 13
19 Feb
19 Feb
5, 5.1 Graphs (14:27)
graphs
5.2 Depth-first search (11:37)
5.3 Breadth-first search (6:43)
Lecture 18
3 Mar
3 Mar
6.3 Max-flow min-cut theorem (19:38)
Typos on pages 35 and 36—lecture notes have been updated—thanks to M.Macko
Typos on pages 35 and 36—lecture notes have been updated—thanks to M.Macko
6.4 Matchings (11:01)
Lecture 20
8 Mar
8 Mar
7.1 Aggregate analysis (8:56)
7.2 Amortization: introduction (10:41)
7.3 Amortization: definition (10:59)
7.4 Potential functions (14:17)
Lecture 21
10 Mar
10 Mar
7.5 Three priority queues (18:26)
7.6, 7.7 Fibonacci heap (18:13)
advdata with fibheap.py, or
FibHeap.java
Typo on page 65—lecture notes have been updated—thanks to A.Pesenti
Typo on page 65—lecture notes have been updated—thanks to A.Pesenti
Lecture 24
TBA
TBA
Director's cut: further topics