Lecture |
Date |
Topics |
Reading
in CLRS |
HW
out |
HW due |
1 |
9/4 |
Introduction,
Insertion
Sort,
Asymptotics |
Ch. 1,2 |
HW 0 |
|
2 |
9/6 |
Divide and
Conquer, Merge Sort, Recursion |
Ch. 2,3 |
HW 0 |
|
3 |
9/11 |
Recurrences,
Solution
methods,
More D&C |
Ch. 4 | HW 1 | |
4 |
9/13 |
Randomized algorithms | Ch. 5 |
||
5 |
9/18 |
Quicksort | Ch. 7 | ||
6 |
9/20 |
Order
statistics |
Ch. 9 |
HW 2 | HW 1 |
7 |
9/25 |
Comparison lower bounds; Counting sort, Radix sort | Ch. 8 | ||
8 |
9/27 |
Priority
queues, Heaps, Heapsort |
Ch. 6 | ||
9 |
10/2 |
Binary
search trees |
Ch 12 |
||
10 |
10/4 |
2-3-4 trees, B-trees, Red-black trees | Ch. 18, 13 |
HW 3 | HW 2 |
11 |
10/9 |
Augmenting data structures | Ch 14 |
||
12 |
10/11 |
Greedy algorithms | Ch. 16 | ||
13 |
10/16 |
Dynamic programming | Ch. 15 | ||
14 | 10/18 |
Graphs, Breadth-first search, Dijkstra's algorithm | Ch. 22.1-2, 24.3 | HW 4 | HW 3 |
10/23 |
Midterm in
class |
|
|
||
15 |
10/25 |
Depth-first search, strongly connected components, topological order | Ch. 22.3-5 |
||
16 |
10/30 |
Minimum
spanning trees, Disjoint sets |
Ch. 23, 21 |
|
|
17 |
11/1 |
Shortest paths with negative weights | Ch. 24 |
HW 5 | HW 4 |
18 |
11/8 |
All-pairs shortest paths, transitive closure and MM | Ch. 25 | ||
19 |
11/13 |
Network
flow, bipartite matching |
Ch. 26.1-3 |
||
20 |
11/15 |
Linear
programming models |
Ch. 29.1-2,4 |
|
|
21 |
11/20 |
NP-completeness |
Ch. 34 |
HW 6 | HW 5 |
22 |
11/27 |
NP-completeness | Ch. 34 |
||
23 |
11/29 |
NP-completeness | Ch. 34 |
||
24 |
12/4 |
Approximation
algorithms |
Ch. 35 |
HW 6 | |
12/6 |
Final in class |