6.006: Introduction to Algorithms
- Introduction
- Binary Search Trees
- Hashing
- Sorting
Graphs and Search
- Dynamic Programming
- Lecture 18, 11/9 Dynamic Programming I: Memoization, Fibonacci, Crazy Eights
- Lecture 19, 11/16 Dynamic Programming II: Shortest Paths, Longest Common Subsequence
- Lecture 20, 11/18 Dynamic Programming III: Dynamic Programming III: Text Justification, Knapsack
- Lecture 21, 11/23 Dynamic Programming IV: Piano Fingering, Structural DP (Trees), Vertex Cover, Dominating Set, Treewidth
- Numerics
- NP-completeness
- Review