MIT 6.006 Introduction to Algorithms, Fall 2011

This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. Created by MIT OpenCourseWare.


Average Course Length

50 hours


Skill Level

Intermediate



Pick a lesson


1: 1. Algorithmic Thinking, Peak Finding
2: 2. Models of Computation, Document Distance
3: 3. Insertion Sort, Merge Sort
4: 4. Heaps and Heap Sort
5: 5. Binary Search Trees, BST Sort
6: 6. AVL Trees, AVL Sort
7: 7. Counting Sort, Radix Sort, Lower Bounds for Sorting
8: 8. Hashing with Chaining
9: 9. Table Doubling, Karp-Rabin
10: 10. Open Addressing, Cryptographic Hashing
11: 11. Integer Arithmetic, Karatsuba Multiplication
12: 12. Square Roots, Newton's Method
13: 13. Breadth-First Search (BFS)
14: 14. Depth-First Search (DFS), Topological Sort
15: 15. Single-Source Shortest Paths Problem
16: 16. Dijkstra
17: 17. Bellman-Ford
18: 18. Speeding up Dijkstra
19: 19. Dynamic Programming I: Fibonacci, Shortest Paths
20: 20. Dynamic Programming II: Text Justification, Blackjack
21: 21. DP III: Parenthesization, Edit Distance, Knapsack
22: 22. DP IV: Guitar Fingering, Tetris, Super Mario Bros.
23: 23. Computational Complexity
24: 24. Topics in Algorithms Research
25: R1. Asymptotic Complexity, Peak Finding
26: R2. Python Cost Model, Document Distance
27: R3. Document Distance, Insertion and Merge Sort
28: R5. Recursion Trees, Binary Search Trees
29: R6. AVL Trees
30: R7. Comparison Sort, Counting and Radix Sort
31: R8. Simulation Algorithms
32: R9. Rolling Hashes, Amortized Analysis
33: Recitation 9b: DNA Sequence Matching
34: R10. Quiz 1 Review
35: R11. Principles of Algorithm Design
36: R12. Karatsuba Multiplication, Newton's Method
37: R13. Breadth-First Search (BFS)
38: R14. Depth-First Search (DFS)
39: R15. Shortest Paths
40: R16. Rubik's Cube, StarCraft Zero
41: R18. Quiz 2 Review
42: R19. Dynamic Programming: Crazy Eights, Shortest Path
43: R20. Dynamic Programming: Blackjack
44: R22. Dynamic Programming: Dance Dance Revolution
45: R21. Dynamic Programming: Knapsack Problem
46: R23. Computational Complexity
47: R24. Final Exam Review