CSE 431/531: Algorithm Analysis and Design (Fall 2022)

Course Information

Time: TuTh 5:00pm - 6:20pm

Location: Cooke 121

Credits: 3

Please sign up for the course on Piazza.

Instructor

Shi Li

Email: [first name][last name initial][at][buffalo][dot][edu]

Homepage: http://www.cse.buffalo.edu/~shil/

Overview

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 linear programming, and the NP-completeness theory.

Textbook

There is no required text book for the class, but it is recommended that you have one of the following books:

Grading

Your final grade will be computed as follows:

Policies

Slides

NA stands for "no animation".

Deadlines for Homeworks and Projects

HWs/ProjectsReleasing DateDeadline
HW1Sep 13Sep 25
HW2Sep 29Oct 11
HW3Oct 13Oct 23
HW4Nov 1Nov 13
HW5Nov 17Nov 27
HW6Dec 6None
Project 1Oct 13Nov 20
Project 2Nov 17Dec 11

Syllabus & Tentative Schedule


WeekDateTopicContentsOther Notes
1 Aug 30 Introduction syllabus
Sep 1 asymptotic notations (KT 2.2)
2 Sep 6 common running times (KT 2.4)
Sep 8 Graph Basics graph basics, connectivity and traversal (KT 3.1, 3.2, 3.4)
3Sep 13 topological order (KT 3.6) HW1 Released
Sep 15Greedy Algorithms basics, interval scheduling (KT 4.1)
4 Sep 20 interval scheduling continued, optimum caching (KT 4.3)
Sep 22 optimum caching continued Sep 25: HW1 Deadline
5Sep 27 Huffman code (KT 4.8)
Sep 29 Huffman code continued, exercise problems HW2 Released
6 Oct 4 Divide and Conquer merge sort and counting inversions (KT 5.1, 5.3)
Oct 6 quicksort, median-finder, selection (KT 13.5)
7 Oct 11 polynomial and matrix multiplications (KT 5.5) HW2 Deadline
Oct 13 solving recurrences (KT 5.2) HW3 Released
Proj1 Released
8 Oct 18 Dynamic Programming weighted interval scheduling (KT 6.1)
Oct 20 subset sums and knapsack (KT 6.4) Oct 23: HW3 Deadline
9Oct 25 Sequence Alignment (KT 6.6)
Oct 27 Matrix-Chain-Multiplication, Optimum Binary Search Tree
10 Nov 1 Exercise Problems HW4 Released
Nov 3 Graph Algorithms Kruskal's algorithm for MST (KT 4.5)
11Nov 8 Prim's algorithm for MST (KT 4.6)
Nov 10 Dijkstra's algorithm for shortest path (KT 4.4) Nov 13: HW4 Deadline
12 Nov 15 shortest path with negative weights and Bellman-Ford, Floyd-Warshall (KT 6.8)
Nov 17 NP-Completeness P, NP, Co-NP, KT 8.1-8.3) HW5, Proj2 Released
Nov 20: Proj1 Deadline
13Nov 22 P=NP?, NPC (KT 8.4)
Nov 24Fall Recess Nov 27: HW5 Deadline
14 Nov 29 circuit-SAT, 3-SAT (KT 8.5)
Dec 1 independent set (KT 8.5)
15Dec 6 HW Solutions, Final Review, Q&A HW6 Released
Dec 8 Dec 11: Proj2 Deadline
Dec 16, Fri, 11:45am-2:45pm: Final Exam, at Knox 20