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:30-2:30pm, Mondays
Di Wang
dwang45atbuffalodotedu
Office Hours: 12:30-2: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 NP-completeness.
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 mid-term exam will be held in class on Mar 21. The final Exam will be held in the classroom at 3:30-6:30pm on May 11. The exams are closed-book, 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 Intro-NA | 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 Greedy-NA |
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&C-NA | 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 AVL-NA | ||||
Feb 26 | Dynamic Programming 6.1, 6.2, 6.4, 6.6, 6.7 | Weighted Interval Scheduling | DP DP-NA | 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 | Mid-Term | ||||
Mar 23 | Graph Basics 3.1, 3.2, 3.3, 3.6 | Graph Connectivity BFS, DFS | Graph Graph-NA | 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 SP-NA | ||
Mar 30 | Dijkstra's Algorithm | |||||
Apr 1 | Bellman-Ford Algorithm | 30 | ||||
11 | Apr 4 | Floyd-Warshall Algorithm | 31 | |||
Apr 6 | In-Class Test | |||||
Apr 8 | Minimum Spanning Tree 4.5, 4.6 | Kruskal's Algorithm | MST MST-NA | 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 | Ford-Fulkerson Method | NF NF-NA | 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 NPC-NA | HW7(4 pts) Post: May 4 Due: May 12 |
|
Apr 27 | NP, Co-NP, P=NP, and NPC | |||||
Apr 29 | Circuit, 3-SAT | |||||
15 | May 2 | Independent Set, Vertex Cover | ||||
May 4 | Hamiltonian Cycle | |||||
May 6 | Subset Sum, Knapsack |
Undergraduate: http://undergrad-catalog.buffalo.edu/policies/course/integrity.shtml
Graduate: http://grad.buffalo.edu/Academics/Policies-Procedures/Academic-Integrity.html