CSE 431/531: Analysis of Algorithms (Fall 2016)


Please sign up the course on Piazza.

Course Information

Time: MoWeFr 9:00~9:50am

Location: Cooke 121

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/

Office Hours: 10:00am-12:00pm, Wednesdays, Davis 328


NameEmailOffice HoursOffice Hours Location
Di Wangdwang4510:00am-12:00pm, MondaysDavis 300 Lounge
Minwei Yeminweiye10:00am-12:00pm, TuesdaysDavis 300 Lounge
Alexander Stachnikajstachn10:00am-12:00pm, ThursdaysDavis 300 Lounge


Li Zhanglzhang34
Xin Liuxliu47
Xin Maxma24


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 and dynamic programming. More advanced topics covered in the course include network flows, NP-completeness, linear programming, approximation algorithms, etc.

Required Textbook

Jon Kleinberg and Eva Tardos    Algorithm Design.   1st Edition, 2005, Pearson.


Your final grade will be computed as follows:


Homeworks and Projects

HWs and ProjectsTopics CoveredPost DateDue Date
Homework 1Introduction, Graph BasicsSep 12Sep 26
Project 1
Public Test Cases
Minimum Spanning TreeSep 26Oct 30
Homework 2Greedy Algorithms, Divide-and-ConquerOct 14Oct 28
Homework 3Dynamic ProgrammingOct 28Nov 14
Project 2Longest Common SubsequenceNov 14Dec 9
Homework 4NP-CompletenessNov 14Dec 2
Homework 5Approximation and Randomized AlgorithmsDec 5Dec 12

Tentative Schedule

WeekDateTopics&Reading Assigments ContentsSlides
1Aug 29Introduction

2.1, 2.2, 2.4
SyllabusSlides / Printout

Last updated:
08/04/19 00:14
Aug 31Asymptotical Notations
Sep 2Common Running Times
2Sep 5 Labor Day
Sep 7Graph Basics

3.1, 3.2, 3.3, 3.6
Graph RepresentationsSlides / Printout

Last updated:
08/04/19 00:14
Sep 9Graph Connectivity and Traversal
3Sep 12Topological Order
Sep 14Greedy Algorithms

4.1, 4.2, 4.4, 4.5, 4.6, 2.5
Interval SchedulingSlides / Printout

Last updated:
08/04/19 00:14
Sep 16MST
4Sep 19Kruskal's Algorithm
Sep 21Prim's Algorithm
Sep 23Priority Queue and Heap
5Sep 26Shortest Path and Dijkstra's Algorithm
Sep 28Divide and Conquer

5.1, 5.3, 13.5, 5.5
Merge Sort and Count InversionsSlides / Printout

Last updated:
08/04/19 00:14
Sep 30Quick Sort and Selection Problem
6Oct 3Polynomial and Matrix Multiplications
Oct 5Solving Recurrences
Oct 7Counting Inversions via Self-Balancing BST
7Oct 10 No Class Today
Oct 12 In-Class Exam #1
Oct 14Dynamic Programming

6.1, 6.2, 6.4, 6.6, 6.8, 6.9
Weighted Interval SchedulingSlides / Printout

Last updated:
08/04/19 00:14
8Oct 17Subset Sums and Knapsack
Oct 19Sequence Alignment
Oct 21Shortes Paths with Negative Weights
9Oct 24Bellman-Ford
Oct 26All-Pair Shortest Paths
Oct 28Exercise Problems
10Oct 31NP-Completeness

8.1 ~ 8.5
Some Hard Problems, PSlides / Printout

Last updated:
08/04/19 00:14
Nov 2NP, Co-NP, P=NP and NPC
Nov 4Circuit-SAT, 3-SAT
11Nov 7Independent Set, Vertex Cover
Nov 9Hamiltonian Cycle
Nov 113-Coloring
12Nov 14Exercise Problems
Nov 16Approximation and
Randomized Algorithms

11.6, 13.3, 13.4, 13.5
Travelling Salesman ProblemSlides / Printout

Last updated:
08/04/19 00:14
Nov 18Vertex Cover
13Nov 21MAX 3-SAT
Nov 23 Fall Recess
Nov 25
14Nov 28 In-Class Exam #2
Nov 30Approximation and
Randomized Algorithms

11.6, 13.3, 13.4, 13.5
Randomized Quicksort and Median Finder
Dec 2Linear Programming, Weighted Vertex Cover
15Dec 5Exercise Problems
Dec 7 Final Review
Dec 9 Q & A Session by TAs

Academic Integrity

Undergraduate: http://undergrad-catalog.buffalo.edu/policies/course/integrity.shtml

Graduate: http://grad.buffalo.edu/Academics/Policies-Procedures/Academic-Integrity.html