Instructor Huacheng Yu
Lectures Monday/Wednesday 10:40-12:00pm
TAs Zhongtian He, Ilya Maier, Pachara Sawettamalya
Location Lewis Library 120
Office hours Huacheng: Monday 1:30-3:30pm @ CS310

For course description, grading policy, etc., please see the course infosheet.

Ed

We will use Ed for course discussion. The link is: https://edstem.org/us/courses/95086/discussion. If you are enrolled in the course, you should have access to Ed. Please email the instructor if you cannot access Ed.

Grading

You earn five points of participation for attending each 1-1 coaching sessions. You may earn up to 40 points this way. There will be two in-class Midterms, and a scheduled Final. Suppose you earn p participation points, get m1, m2 points from the two Midterms respectively and f points from the Final. Then your grade is p + (1-p/100)(min(m1,m2)/6+max(m1,m2)/3+f/2).

Homework

Homeworks will be posted below when they become available.

Supplemental reading and related courses

Lecture notes and schedule

Below is a tentative schedule.

LectureDateTopicNotesSupplemental reading
Graph Algorithms
1/26Cancelled
11/28Minimum spanning trees ILecture 1CLRS Chapter 23, KT Chapter 4.5
COS 423 Lecture on "Minimum Spanning Trees"
22/2Minimum spanning trees IILecture 2COS 423 Lecture on "Minimum Spanning Trees Faster"
David Karger, Philip Klein, Robert Tarjan. "A randomized linear-time algorithm to find minimum spanning trees".
32/4Shortest pathsLecture 3CLRS Chapter 25
MIT 6.046J Lecture 11, NEU CS5800 Lecture 12
42/9MatchingsLecture 4CLRS Chapter 26.3, KT Chapter 7.5
COS 423 Lecture on "Graph Matching"
52/11Matchings IILecture 5COS 423 Lecture on "Nonbipartite Matching"
CMU 15-451/651 v3 Lecture 11
62/16Strongly connected componentsLecture 6CLRS Chapter 22.5, KT Chapter 3.5
COS 423 Lecture on "Strong Components and Blocks"
CMU 15-451/651 v3 Lecture 9
NEU CS5800 Lecture 11
72/18Max flowLecture 7CLRS Chapter 26.4, KT Chapter 7.4
COS 423 Lecture on "Maximum Flow"
NEU CS5800 Lecture 13
2/23Midterm #1
2/25No lecture
83/2Max flow IILecture 8CLRS Chapter 26.5, KT Chapter 7.4
COS 423 Lecture on "Maximum Flow"
NEU CS5800 Lecture 13
Data Structures
93/4K-d treeLecture 9UMD CMSC420 Lecture 10, 11, 12
3/9Spring break
3/11Spring break
103/16Van Emde Boas tree and x-fast trieLecture 10CLRS Chapter 20
UIUC CS598 JGE "van Emde Boas trees and x-fast tries"
Harvard CS224 Lecture 1
113/18y-fast tries and fusion treesLecture 11UIUC CS598 JGE "y-fast tries and fusion trees", "Fusion tree details"
Harvard CS224 Lecture 2
123/23Disjoint set unionLecture 12CLRS Chapter 21
UMD CMSC420 Lecture 04
CMU 15-451/651 v2 Lecture 8
133/25Fibonacci heapLecture 13CLRS Chapter 19
MIT 6.854 Lecture 1,2
CMU 15-451/651 v3 Lecture 14
Harvard CS224 Lecture 6,7
143/30Splay treesLecture 14Harvard CS224 Lecture 7,8
MIT 6.854 Lecture 4
CMU 15-451/651 v1 Lecture 6
UIUC CS598 JGE Lecture on "splay trees"
UMD CMSC420 Lecture 13
154/1Suffix trees and suffix arraysLecture 15CMU 15-451/651 v1 Lecture 23,24
CMU 15-451/651 v3 Lecture 25
4/6Midterm #2
Other Algorithmic Topics
164/8String matching algorithms
174/13Integer sorting algorithms
184/15Approximation algorithms
194/20External memory algorithms
204/22Cell-probe lower bounds