Amortization
| Week 1 (Aug 10 – Aug 13)
|
Analysis techniques with examples: Aggregate method, accounting method, and potential method.
| Part 1 |
Part 2
[slides]
|
Query form
|
---|
Amortization
Graph Algorithms
| Week 2 (Aug 16 – Aug 20)
|
Amortized data structures: Fibonacci heaps.
Network flow: Definition, applications, Ford–Fulkerson algorithm. (First 24 minutes of Part 2)
| Part 1 |
Part 2
[slides]
Part 1 |
Part 2
[slides]
|
Query form
|
---|
Graph Algorithms
| Week 3 (Aug 23 – Aug 27)
|
Network flow: Edmonds–Karp algorithm, push-relabel algorithm. Applications. (Last 24 minutes of Part 2)
| Part 2 |
Part 3 |
Part 4
[slides]
|
Query form
|
---|
Graph Algorithms
| Week 4 (Aug 30 – Sep 03)
|
Weighted Bipartite Matching (Hungarian Algorithm)
Stable Matching: Gale–Shaply algorithm
| Part 1 |
Part 2
[slides]
Single part
[slides]
|
Query form
|
---|
Geometric Algorithms
| Week 5 (Sep 06 – Sep 10)
|
Representation of points, lines, segments, and polygons. Basic calculations.
| Single part
|
Query form
|
---|
Geometric Algorithms
| Week 6 (Sep 13 – Sep 17)
|
Convex hulls: Definition, lower bound, naive algorithms, Jarvis' march, Graham's scan, Preparata–Hong algorithm.
Sweep paradigm: Line sweep (line-segment intersection).
| Part 1 |
Part 2
Part 1
|
Query form
|
---|
Geometric Algorithms
NP-completeness
| Week 7 (Sep 20 – Sep 24)
|
Sweep paradigm: Ray sweep (visibility polygon).
Voronoi diagrams: Definition, applications, size, naive algorithm, Fortune's line-sweep algorithm.
Complexity classes P and NP, nondeterministic algorithms.
| Part 2
Single part
Single Part
|
Query form
|
---|
NP-completeness
| Week 8 (Sep 27 – Oct 01)
|
Polynomial-time verifiabiity, polynomial-time reduction.
NP-hard and NP-complete problems, SAT, CNFSAT.
Examples of NP-complete problems
| Single part
Single part
Part 1
|
Query form
|
---|
NP-completeness
| Week 9 (Oct 04 – Oct 08)
|
Examples of NP-complete problems.
Miscellaneous topics: Easy instances and easy problems, the class NP-Hard.
| Part 2
Single part
|
Query form
|
---|
Approximation Algorithms
| Week 10 (Oct 18 – Oct 22)
|
Basic concepts, approximation ratio, minimum vertex cover.
Minimum set cover. Euclidean TSP. Inapproximability. Use of linear programming.
Polynomial-time approximation schemes.
| Single part
Single part
Single part
|
Query form
|
---|
Randomized Algorithms
| Week 11 (Oct 25 – Oct 29)
|
Monte Carlo algorithms. Primality testing.
Karger and Karger–Stein algorithms.
Las Vegas algorithms. Randomized data structures.
| Single part
Single part
Single part [slides]
|
Query form
|
---|
Branch-and-bound Algorithms
| Week 12 (Nov 01 – Nov 05)
|
Backtracking, Pruning, Examples.
| Part 1 |
Part 2 [slides]
|
Query form
|
---|