NB Webrecordings of the lectures are made available via Blackboard (see Course Content). You may also find it useful to view some of the lectures by Charles Leiserson (the L from CLRS) and Erik Demaine, that are available via Videolectures.net

week | day | topic | book chapter | |
---|---|---|---|---|

36 | 7-9 | Lecture 1: Introduction to the course, Growth of functions | CLRS 3.1 | |

37 | 14-9 | Lecture 2: Data structures 1: Stacks, queues, lists; Graph algorithms 1: BFS | CLRS 10.1-10.2, 22.1-22.2 | |

38 | 21-9 | Lecture 3: Graph algorithms 2: DFS, parenthesis theorem, topological sorting, strongly connected components | CLRS 22.3-22.5 | |

39 | 28-9 | Lecture 4: Graph algorithms 3: Dijkstra + Data structures 2: Heaps | CLRS Chapter 24, pages 643-650 + Sc24.3 and Chapter 6 | |

40 | 5-10 | Lecture 5: Graph algorithms 4: Bellman-Ford (slides 1-29), Network flow, Ford-Fulkerson, and max-flow min-cut theorem (slides 1-35) | CLRS Chapter 24, Sc24.1 and Chapter 26, Sc26.1-26.2 | |

41 | 12-10 | Lecture 6: Graph algorithms 5: Flow algorithms cnt (capacity scaling and shortest augmenting paths (slides 36-54 from the slides of last week), maximum bipartite matching and other applications) | CLRS Chapter 26, Sc26.2-26.3 (background material: survey paper in CACM journal (with video), The new FIFA rules are hard: complexity aspects of sports competitions) | |

42 | 16-10 | First practical assignment is made available | ||

19-10 | Lecture 7: Data structures 3: Binary Search Trees | CLRS Chapter 12, Big O Cheat Sheet | ||

43 | 26-10 | Lecture 8: Data structures 4: Red-Black Trees | CLRS Chapter 13 (you may find it helpful to check out this nice tool that visualizes the different operations on Red-Black trees) | |

44 | Fall break
| |||

45 | Fall break
| |||

46 | 16-11 | Deadline first practical assignment | ||

16-11 | Lecture 9: Recurrences and divide and conquer | CLRS Chapter 2.3, 4.3 and 4.4 | ||

47 | 23-11 | Lecture 10: Dynamic programming 1 | CLRS Chapter 15 | |

48 | 30-11 | Lecture 11: Dynamic Programming 2 | CLRS Chapter 15 | |

1-12 | Second practical assignment is made available | |||

49 | 7-12 | Lecture 12: Greedy algorithms 1 (slides 1-14), Greedy algorithms 2 (slides 13-33), Demo Prim's algorithm, Demo Kruskal's algorithm | CLRS Chapter 16.1 and 16.2, Chapter 23 (for discussion of union-find data structure used in implementation of Kruskal's algorithm, see Chapter 21, in particular 21.3), Iconic "Greed is good" speech from movie Wall Street | |

50 | 14-12 | Lecture 13: Discussion solutions first practical assignment + Randomized algorithms 1 | CLRS Chapter 5.1-5.3, News on algorithms, clay tablets and lost cities | |

51 | 21-12 | Lecture 14: TimSort algorithm (guest lecture by Jurriaan Rot) + Randomized algorithms 2 | CLRS Chapter 9.2 and lecture notes on randomized median algorithm (presentation differs slightly from what has been discussed during the lecture) | |

2 | 11-1 | Deadline second practical assignment | ||

11-1 | No lecture | |||

3 | 18-1 | Opportunity to ask questions in preparation for the exam (10.45, HG00.307) | ||

4 | 24-1 | Exam, 12.30-15.30, HAL 2 | ||

9 | 27-2 | Discussion of Solutions to Exam, 12.45-14.45, HG00.068 | ||

18 | 3-5 | Resit, 12.30-15.30, HG00.062, and 12.30-16.00, HG00.308 (extra time) |