Week 
Topics 
References 
Assignments 
14 
12/8: Coping with NP
complete problems 12/6: NP completeness proof 
Chapter 34 and notes Lecture Notes 
HW9 is accessible at HuskyCT. 
13 
12/1: NP completeness proof 11/29: NP complete. Polynomial time reduction. 
Chapter 34 Lecture Notes 
HW8. Due 12/6 in class. 
12 
11/17: Finish FFT and
concept of NP. 11/15: Finish primality testing and fast Fourier transform 
Chapters 30, 31, 34 Lecture Notes 
HW7. Due 11/29 in class. 
11 
11/10: BellmanFord
algorithm and primality testing 11/8: Exam 2 
Chapters 24 and 31 Lecture Notes 

10 
11/3: Short path problem. 11/1: Minimum spanning tree. 
Chapters 23 and 24. Lecture Notes 

9 
10/27: DFS and its
applications 10/25: Graph algorithms: BFS and DFS 
Chapter 22 Lecture Notes 
HW6. Due 11/3 in class. 
8 
10/20: Dynamic programming 10/18: Dynamic programming 
Chapter 15 Lecture Notes 
HW5. Due 10/27 in class. 
7 
10/13: Dynamic programming 10/11: Greedy algorithm 
Chapters 15 and 16 Lecture Notes 

6 
10/6: Greedy algorithm 10/4: Exam 1 
Chapter 16 Lecture Notes 
HW4. Due 10/13 in class. 
5 
9/29: Lower bound, counting
sort and selection. 9/27: Heapsort 
Chapters 6,8 and 9. Lecture Notes 

4 
9/22: QuickSort 9/20: Probabilistic analysis 
Chapters 5 and 7. Lecture Notes 
HW3. Due 9/27 in class.. 
3 
9/15: Design of divide and
conquer algorithms 9/13: Analysis of divide and conquer algorithms 
Chapter 4. See Section 33.4
(p.1039) for the cloesest point problem. Lecture Notes 

2 
9/8: Common running time
and divide and conquer 9/6: Asymptotic notations. 
Chapters 3 and 4. Lecture Notes 
HW2. Due 9/15 in class.. 
1 
9/1: Basic
analysis of algorithms. Example problems. Insertion sort. BigO
notation. 8/30: Basic concepts of algorithms. Stable matching problem: a motivating example. 
Chapters 1
and 2.
Appendix A, B and C. A book chapter on stable matching (PDF). Lecture Notes 
HW1. Due
9/6 in class.. 