CMSC 451: Design and Analysis of Algorithms

Spring 2017

Home | Syllabus/Homeworks | Schedule | Resources




The following is a tentative schedule of topics, subject to change.

Weekly Schedule

Week Topic Subtopic Reading
1 Introduction to Algorithms Th 1/26 - Stable marriage (JC) KT 1.1
Man-optimality proof
2 Intro, Greedy Algs Tu 1/31 - overview of algorithm design, GCD alg (SK)
Th 2/2 - GCD alg, interval scheduling (SK)
KT 4.1
3 Greedy Algs Tu 2/7 - scheduling to minimize lateness; to maximize profit (SK)
Th 2/9 - minimum spanning trees (SK)
KT 4.2; Max Profit Scheduling
KT 4.5 and 4.6
4 Greedy Algs Tu 2/14 - caching (JC)
Th 2/16 - shortest paths (SK)
KT 4.3
KT 4.4
Caching slides
5 Graph Algs Tu 2/21 - BFS, DFS and edge connectivity (SK)
Th 2/23 - Strong connectivity (SK)
KT 3.4, KT 3.5
Properties of DFS from CLRS
Notes on bridges
SCC notes from CLRS
6 Graph Algs Tu 2/28 - Strong connectivity (SK)
Th 3/2 - review session (JC)
Notes on Menger's Thm
(Errata: paths P' and P'' switched in the bottom figure)
Review problems
7 -- Tu 3/7 - in-class exam
Th 3/9 - guest lecture on distributed algorithms (David Harris)
 
8 Dynamic Programming Tu 3/14 - Pi Day Snow Day
Th 3/16 - Weighted Interval Scheduling, Knapsack (SK)
KT 6.1
Spring Break -- Enjoy your break! --
9 Dynamic Programming Tu 3/28 - Bellman-Ford; Floyd-Warshall (SK)
Th 3/30 - Segmented Least Squares (SK)
KT 6.8
CLRS notes on Floyd-Warshall
KT 6.3
10 Dynamic Programming Tu 4/4 - negative cycles; sequence alignment (SK)
Th 4/6 - edit distance (JC)
KT 6.5-6.7
11 Network Flows Tu 4/11 - (SK)
Th 4/13 - (SK)
Wayne's Network Flow notes
KT 7.1, 7.2
12 -- Tu 4/18 - review session (JC)
Th 4/20 - in-class exam
 
13 Network Flows Tu 4/25 - bipartite matching (SK)
Th 4/27 - network flow applications (SK)
KT 7.5
14 NP completeness Tu 5/2 - Reductions (JC)
Th 5/4 - NP-completeness (SK)
KT 8.1, 8.2
NP-completeness handout
15 NP completeness Tu 5/9 - TBD
Th 5/11 - Final exam review
 
Final Exam   Th 5/18 4-6pm  

Web Accessibility