Lecture notes
Notes will usually be posted the day before lecture.
course information
[pdf] [docx] |
Lecture 1 (Jan 6): course introduction
[pdf] [one]
|
Lecture 2 (Jan 8): solving recurrence
[pdf] [one]
|
Lecture 3 (Jan 13): divide and conquer
[pdf] [one]
|
Lecture 4 (Jan 15): divide and conquer II
[pdf] [one] (updated Jan 19)
|
Lecture 5 (Jan 20): breadth first search
[pdf] [one]
|
Lecture 6 (Jan 22, 27): depth first search
[pdf] [one]
|
Lecture 7 (Jan 29, Feb 3): directed graphs
[pdf] [one]
|
Lecture 8 (Feb 5): greedy algorithms
[pdf] [one]
|
Lecture 9 (Feb 10): Huffman coding
[pdf] [one]
|
Lecture 10 (Feb 12): single-source shortest paths
[pdf] [one]
|
Lecture 11 (Feb 24): dynamic programming
[pdf] [one]
|
Lecture 12 (Feb 26): dynamic programming II
[pdf] [one]
|
Lecture 13 (Mar 2): dynamic programming on trees
[pdf] [one]
|
Lecture 14 (Mar 4, 9): dynamic programming on graphs
[pdf] [one]
|
Lecture 15 (Mar 11): bipartite matching
[pdf] [one]
|
Lecture 16 (Mar 16): bipartite vertex cover
[pdf] [one]
|
Lecture 17 (Mar 18): polynomial time reductions
[pdf] [one]
|
Lecture 18 (Mar 23): NP-completeness
[pdf] [one]
|
Lecture 19 (Mar 30): hard graph problems
[pdf] [one]
|
Lecture 20 (Apr 1): hard partitioning problems
[pdf] [one]
|