| LEC # | TOPICS | |
|---|---|---|
| Unit 1: Introduction | ||
| 1 | Algorithmic thinking, peak finding (PDF - 1.9MB) | |
| 2 |
Models of computation, document distance
|
|
| Unit 2: Sorting and Trees | ||
| 3 | Insertion sort, merge sort (PDF) (Courtesy of Charles Leiserson, Piotr Indyk, Constantinos Daskalakis, and Srini Devadas. Used with permission.) | |
| 4 | Heaps and heap sort (PDF) (Courtesy of Charles Leiserson, Piotr Indyk, Constantinos Daskalakis, and Srini Devadas. Used with permission.) | |
| 5 | Binary search trees, BST sort (PDF - 1.2MB) | |
| 6 |
AVL trees, AVL sort
|
|
| 7 |
Counting sort, radix sort, lower bounds for sorting |
|
| Unit 3: Hashing | ||
| 8 |
Hashing with chaining |
|
| 9 |
Table doubling, Karp-Rabin |
|
| 10 | Open addressing, cryptographic hashing (PDF) | |
| Unit 4: Numerics | ||
| 11 | Integer arithmetic, Karatsuba multiplication (PDF) | |
| 12 | Square roots, Newton’s method (PDF) | |
| Unit 5: Graphs | ||
| 13 |
Breadth-first search (BFS) |
|
| 14 |
Depth-first search (DFS), topological sorting |
|
| Unit 6: Shortest Paths | ||
| 15 | Single-source shortest paths problem (PDF) | |
| 16 | Dijkstra (PDF) | |
| 17 | Bellman-Ford (PDF - 1.2MB) | |
| 18 | Speeding up Dijkstra (PDF - 1.1MB) | |
| Unit 7: Dynamic Programming | ||
| 19 |
Dynamic programming I: Fibonacci, shortest paths |
|
| 20 |
Dynamic programming II: text justification, blackjack |
|
| 21 |
Dynamic programming III: parenthesization, edit distance, knapsack |
|
| 22 |
Dynamic programming IV: guitar fingering, Tetris, Super Mario Bros. |
|
| Unit 8: Advanced Topics | ||
| 23 |
Computational complexity |
|
| 24 |
Topics in algorithms research |
|
Lecture Notes
Course Info
Instructors
Departments
As Taught In
Fall
2011
Level
Course Info
Instructors
Departments
As Taught In
Fall
2011
Level
Learning Resource Types
grading
Exam Solutions
grading
Exams
notes
Lecture Notes
theaters
Lecture Videos
assignment_turned_in
Problem Set Solutions
assignment
Problem Sets
theaters
Problem-solving Videos
assignment_turned_in
Programming Assignments with Examples