6.006 | Spring 2020 | Undergraduate

Introduction to Algorithms

Lecture Notes

Ses # Lectures Recitations
1 Lecture 1: Introduction notes (PDF) Recitation 1 notes (PDF)
2 Lecture 2: Data Structures notes (PDF) Recitation 2 notes (PDF)
3 Lecture 3: Sorting notes (PDF) Recitation 3 notes (PDF)
4 Lecture 4: Hashing notes (PDF) Recitation 4 notes (PDF)
5 Lecture 5: Linear Sorting notes (PDF) Recitation 5 notes (PDF)
6 Lecture 6: Binary Trees, Part 1 notes (PDF) Recitation 6 notes (PDF)
7 Lecture 7: Binary Trees, Part 2: AVL notes (PDF) Recitation 7 notes (PDF)
8 Lecture 8: Binary Heaps notes (PDF) Recitation 8 notes (PDF)
9 Lecture 9: Breadth-First Search notes (PDF) Recitation 9 notes (PDF)
10 Lecture 10: Depth-First Search notes (PDF) Recitation 10 notes (PDF)
11 Lecture 11: Weighted Shortest Paths notes (PDF) Recitation 11 notes (PDF)
12 Lecture 12: Bellman-Ford notes (PDF) Recitation 12 notes (PDF)
13 Lecture 13: Dijkstra’s Algorithm notes (PDF) Recitation 13 notes (PDF)
14 Lecture 14: ASP & Johnson’s Algorithm notes (PDF) Recitation 14 notes (PDF)
15 Lecture 15: Dynamic Programming, Part 1: SRBOT, Fib, DAGs, Bowling notes (PDF) Recitation 15 notes (PDF)
16 Lecture 16: Dynamic Programming, Part 2: LCS, LIS, Coins notes (PDF) Recitation 16 notes (PDF)
17 Lecture 17: Dynamic Programming, Part 3 notes (PDF) Recitation 17 notes (PDF)
18 Lecture 18: Dynamic Programming, Part 4: Rods, Subsetsums, Pseudopolynomial notes (PDF) Recitation 18 notes (PDF)
19 Lecture 19: Complexity notes (PDF) Recitation 19 notes (PDF)
20 Lecture 20: Course Review notes (PDF) No recitation notes
21 No lecture notes No recitation notes

Course Info

Learning Resource Types
Lecture Videos
Problem Sets with Solutions
Exams with Solutions
Lecture Notes