Readings refer to chapters and/or sections of the course textbook:
Cormen, Thomas, Charles Leiserson, Ronald Rivest, and Clifford Stein. Introduction to Algorithms. 3rd ed. MIT Press, 2009. ISBN: 9780262033848.
|Unit 1: Introduction|
|1||Algorithmic thinking, peak finding||1, 3, D.1|
|2||Models of computation, Python cost model, document distance||1, 3, Python Cost Model|
|Unit 2: Sorting and Trees|
|3||Insertion sort, merge sort||1.2, 2.1–2.3, 4.3–4.6|
|4||Heaps and heap sort||6.1–6.4|
|5||Binary search trees, BST sort||10.4, 12.1–12.3, Binary Search Trees|
|6||AVL trees, AVL sort||13.2, 14|
|7||Counting sort, radix sort, lower bounds for sorting and searching||8.1–8.3|
|Unit 3: Hashing|
|8||Hashing with chaining||11.1–11.3|
|9||Table doubling, Karp-Rabin||17|
|10||Open addressing, cryptographic hashing||11.4|
|Unit 4: Numerics|
|11||Integer arithmetic, Karatsuba multiplication|
|12||Square roots, Newton’s method|
|Unit 5: Graphs|
|13||Breadth-first search (BFS)||22.1–22.2, B.4|
|14||Depth-first search (DFS), topological sorting||22.3–22.4|
|Unit 6: Shortest Paths|
|15||Single-source shortest paths problem||24.0, 24.5|
|18||Speeding up Dijkstra|
|Unit 7: Dynamic Programming|
|19||Memoization, subproblems, guessing, bottom-up; Fibonacci, shortest paths||15.1, 15.3|
|20||Parent pointers; text justification, perfect-information blackjack||15.3, Problem 15–4, Blackjack rules|
|21||String subproblems, psuedopolynomial time; parenthesization, edit distance, knapsack||15.1, 15.2, 15.4|
|22||Two kinds of guessing; piano/guitar fingering, Tetris training, Super Mario Bros.|
|Unit 8: Advanced Topics|
|24||Algorithms research topics|
This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.
MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.
No enrollment or registration. Freely browse and use OCW materials at your own pace. There’s no signup, and no start or end dates.
Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don’t offer credit or certification for using OCW.
Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)