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 |