It is recommended that you read the from the book before you come to the lecture. In this way, you can use the time to understand better, reflect and ask relevant questions.

Lecture planning:

Date Content Reading Slides
3/11 Introduction, time complexity analysis, polynomial complexities Chapter 2 Slides
7/11 Sorting: insertion sort, merge sort, dynamic arrays, complexity of recursive programs 7.2, 7.6, 2.4.4 Slides
10/11 Linked lists, stacks, queues 3.1, 3.2, 3.3, 3.5, 3.6, 3.7 Slides
14/11 Priority queues (heaps), binary heaps, leftist heaps 6.1, 6.2, 6.3, 6.4, 6.6, 6.9 Slides
17/11 Hash tables 5.1 - 5.6, 5.7.1, 5.8 Slides
21/11 Graphs 9.1 - 9.2 Slides
24/11 Algorithms on graphs 9.3, 9.6 Slides
28/11 Trees, binary trees, binary search trees; recap for dugga 4.1 - 4.3 Slides
1/12 Dugga dugga
5/12 Solutions + explanations, minimum spanning trees 9.5 Slides
8/12 Balanced trees: AVL trees, B-trees, red-black trees, splay trees 4.4, 4.5, 4.7, 12.2 Slides
12/12 More about sorting: heap sort, quick sort, bucket sort, theoretical lower bound of sorting 7.5, 7.7, 7.8, 7.11 Slides
8/1 Red-Black trees + more about exam Slides