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 
234 trees, Btrees, Redblack 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, Breadthfirst search, Dijkstra's algorithm  Ch. 22.12, 24.3  HW 4  HW 3 
10/23 
Midterm in
class 



15 
10/25 
Depthfirst search, strongly connected components, topological order  Ch. 22.35 

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 
Allpairs shortest paths, transitive closure and MM  Ch. 25  
19 
11/13 
Network
flow, bipartite matching 
Ch. 26.13 

20 
11/15 
Linear
programming models 
Ch. 29.12,4 


21 
11/20 
NPcompleteness 
Ch. 34 
HW 6  HW 5 
22 
11/27 
NPcompleteness  Ch. 34 

23 
11/29 
NPcompleteness  Ch. 34 

24 
12/4 
Approximation
algorithms 
Ch. 35 
HW 6  
12/6 
Final in class 