HW7 due date has been changed to May 12.
Time: MoWeFr 3:00~3:50pm
Location: Knox 110
Credits: 3
Shi Li
Office: 328 Davis Hall
Email: [first name][last name initial][at][buffalo][dot][edu]
Homepage: http://www.cse.buffalo.edu/~shil/
Course Office Hours: 12:302:30pm, Mondays
Di Wang
dwang45atbuffalodotedu
Office Hours: 12:302:30pm, Fridays, 203 Davis Hall
Algorithm design and analysis is fundamental to all areas of computer science and gives a rigorous framework for the study of optimization. This course provides an introduction to algorithm design through a survey of the common algorithm design paradigms of greedy optimization, divide and conquer, dynamic programming and network flows, as well as NPcompleteness.
Please sign up the course on Piazza.
Jon Kleinberg and Eva Tardos Algorithm Design. 1st Edition, 2005, Pearson.
Your final grade will be computed as follows:
If it is to your advantage, then the final exam will be worth 60% of your grade and the midterm will be worth 10%.
There will be 7 homeworks, with a total of 30 points. The splitting of the points, the post and due dates of the homeworks are listed below in the schedule. The graded homework will be returned to you within one week of the due date.
The midterm exam will be held in class on Mar 21. The final Exam will be held in the classroom at 3:306:30pm on May 11. The exams are closedbook, but you can bring a handwritten A4 paper.
The "NA" suffex in a filename in the "Slides,Notes" column means "no animation".
Wk  Date  Topics&Reading Assigments  Contents  Slides  Notes  Homeworks 

1  Jan 25  Introduction 2.1, 2.2, 2.4  Syllabus Asymptotical Notations Common Running Times  Intro IntroNA  HW1(4 pts) Post: Feb 10 Due: Feb 22 

Jan 27  2  
Jan 29  
2  Feb 1  Greedy Algorithms 4.1, 4.3, 4.8, 2.5 
Interval Scheduling  Greedy GreedyNA 
4  
Feb 3  Caching  
Feb 5  Huffman Codes  6  
3  Feb 8  7  
Feb 10  Priority Queue  8  
Feb 12  Divide and Conquer 5.1, 5.2, 5.3, 5.5 13.5 
Solving Recurrences  D&C D&CNA  9  HW2(4 pts) Post: Feb 24 Due: Mar 4 

4  Feb 15  Counting Inversions  10  
Feb 17  Integer Multiplication  
Feb 19  Quicksort Median Finder  
5  Feb 22  13  
Feb 24  Balanced Binary Search Trees  AVL AVLNA  
Feb 26  Dynamic Programming 6.1, 6.2, 6.4, 6.6, 6.7  Weighted Interval Scheduling  DP DPNA  HW3(4 pts) Post: Mar 9 Due: Mar 21  
6  Feb 29  Subset Sums, Knapsack  
Mar 2  
Mar 4  LCA LCA in Linear Space  
7  Mar 7  
Mar 9  Matrix Chain Multiplication  
Mar 11  Review  
8  Mar 14  Spring Recess  
Mar 16  
Mar 18  
9  Mar 21  MidTerm  
Mar 23  Graph Basics 3.1, 3.2, 3.3, 3.6  Graph Connectivity BFS, DFS  Graph GraphNA  HW4(5 pts) Post: Apr 4 Due: Apr 15  
Mar 25  
10  Mar 28  Shortest Paths 4.4,6.8, 6.9  Shortest Paths in DAG  SP SPNA  
Mar 30  Dijkstra's Algorithm  
Apr 1  BellmanFord Algorithm  30  
11  Apr 4  FloydWarshall Algorithm  31  
Apr 6  InClass Test  
Apr 8  Minimum Spanning Tree 4.5, 4.6  Kruskal's Algorithm  MST MSTNA  HW5(4 pts) Post: Apr 13 Due: Apr 22  
12  Apr 11  Prim's Algorithm  
Apr 13  Network Flow 7.1, 7.2, 7.5, 7.6, 7.8~7.12  FordFulkerson Method  NF NFNA  HW6(5 pts) Post: Apr 22 Due: May 4  
Apr 15  Max Flow Min Cut  
13  Apr 18  Choose Good Augmentation Paths  
Apr 20  Bipartite Matching, Disjoint Paths  
Apr 22  Survey Design, Airline Scheduling, etc  39  
14  Apr 25  NP Completeness Chapter 8  Some Hard Problems, P  NPC NPCNA  HW7(4 pts) Post: May 4 Due: May 12 

Apr 27  NP, CoNP, P=NP, and NPC  
Apr 29  Circuit, 3SAT  
15  May 2  Independent Set, Vertex Cover  
May 4  Hamiltonian Cycle  
May 6  Subset Sum, Knapsack 
Undergraduate: http://undergradcatalog.buffalo.edu/policies/course/integrity.shtml
Graduate: http://grad.buffalo.edu/Academics/PoliciesProcedures/AcademicIntegrity.html