Lecture no. | Topics | Reading |
---|
Lecture 1 (3/29) | Administrivia, Introduction | |
Lecture 2 (3/31) | Recap of basic discrete math tools, slides | [GT] Sections 1.1, 1.2, 1.3 |
Lecture 3 (4/5) | Recap of basic data structures, binary search slides | [GT] Chapter 2, Sections 3.1, 5.2.2 |
Lecture 4 (4/7) | Continue of binary search, insertion/selection sort slides | [GT] Chapter 2, Sections 3.1, 5.2.2, 8.2 |
Lecture 5 (4/12) | Av. case of quicksort, divide and conquer, mergesort, counting intersections slides | [GT] Sections 8.1, 8.2, 8.3 |
Lecture 6 (4/14) | Divide and conquer (cont.), master theorem, integer multiplication, maxima set slides | [GT] Sections 11.1, 11.2, 11.3 |
Lecture 7 (4/19) | Priority Queues, Heaps, Heapsort, Optimality, Stable sorting slides | [GT] Chapter 5, Section 8.3 |
Lecture 8 (4/21) | Bucket sort, Radix sort, median select slides | [GT] Section 9.1 |
Lecture 9 (4/26) | Greedy method slides | [GT] Sections 10.1, 10.2 |
Lecture 10 (4/28) | Midterm 1 | |
Lecture 11 (5/03) | Graphs, DFS slides | [GT] Sections 13.1, 13.2, 13.3 |
Lecture 12 (5/05) | DFS (cont.), topological sort, BFS slides | [GT] Sections 13.1, 13.2, 13.3, 13.4 |
Lecture 13 (5/10) | Shortest path algorithms slides | [GT] Sections 14.1, 14.2, 14.3, 14.4, 14.5 |
Lecture 14 (5/12) | MSTs: Prim, Kruskal slides | [GT] Sections 15.1, 15.2, 15.3 |
Lecture 15 (5/17) | Maxflow, bipartite matching slides | [GT] Sections 16.1, 16.2, 16.3, 16.4 |
Lecture 16 (5/19) | Dynamic Programming slides | [GT] Chapter 12 |
Lecture 17 (5/24) | Dynamic Programming cont. slides | [GT] Chapter 12 |
Lecture 18 (5/26) | Midterm 2 | |
Lecture 19 (5/31) | NP-completeness slides | [GT] Chapter 17 |
Lecture 20 (6/2) | NP-completeness reductions slides | [GT] Chapter 17 |