Lecture notes
Notes will usually be posted the day before lecture.
course outline
[pdf] |
Lecture 1 (May 11): course introduction [pdf] [one] [pptx] [pdf]
|
Lecture 2 (May 14): solving recurrence [pdf] [one] [pptx] [pdf]
|
Lecture 3 (May 19): divide and conquer [pdf] [one] [pptx] [pdf]
|
Lecture 4 (May 21): divide and conquer II [pdf] [one] [pptx] [pdf]
|
Lecture 5 (May 26): breadth first search [pdf] [one] [pptx] [pdf]
|
Lecture 6 (May 28): depth first search [pdf] [one] [pptx] [pdf]
|
Lecture 7 (June 2, June 4, June 9): directed graphs [pdf] [one] [pptx] [pdf]
|
Lecture 8 (June 11): greedy algorithms [pdf] [one] [pptx] [pdf]
|
Lecture 9 (June 16): Huffman coding [pdf] [one] [pptx] [pdf]
|
Lecture 10 (June 18): single source shortest paths [pdf] [one] [pptx] [pdf]
|
Lecture 11 (June 23): dynamic programming I [pdf] [one] [pptx] [pdf]
|
Lecture 12 (June 25,30): dynamic programming II [pdf] [one] [pptx] [pdf]
|
Lecture 13 (July 7): dynamic programming on trees [pdf] [one] [pptx] [pdf]
|
Lecture 14 (July 9): dynamic programming on graphs [pdf] [one] [pptx] [pdf]
|
Lecture 15 (July 14): bipartite matching [pdf] [one] [pptx] [pdf]
|
Lecture 16 (July 16): bipartite vertex cover [pdf] [one] [pptx] [pdf]
|
Lecture 17 (July 21): polynomial time reductions [pdf] [one] [pptx] [pdf]
|
Lecture 18 (July 23): polynomial time reductions [pdf] [one] [pptx] [pdf]
|
Lecture 19 (July 28): hard graph problems [pdf] [one] [pptx] [pdf]
|
Lecture 20 (July 30): hard partitioning problems [pdf] [one] [pptx] [pdf]
|