InfoCoBuild

6.006 Introduction to Algorithms

6.006 Introduction to Algorithms (Spring 2020, MIT OCW). Instructors: Prof. Erik Demaine, Dr. Jason Ku, and Prof. Justin Solomon. This course is an introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. It emphasizes the relationship between algorithms and programming and introduces basic performance measures and analysis techniques for these problems. (from ocw.mit.edu)

Algorithms and Computation


Lecture 01 - Algorithms and Computation
Lecture 02 - Data Structures and Dynamic Arrays
Problem Session 01 - Asymptotic Behavior of Functions and Double-ended Sequence Operations
Lecture 03 - Sets and Sorting
Lecture 04 - Hashing
Problem Session 02 - Solving Recurrences and the Master Theorem
Lecture 05 - Linear Sorting
Problem Session 03 - Drawing Pictures of Hash Tables and Reductions from Set to Sequence
Lecture 06 - Binary Trees, Part 1
Lecture 07 - Binary Trees, Part 2
Problem Session 04 - Sequence Rotations, Drawing Sequence Trees, Binary Search
Lecture 08 - Binary Heaps
Lecture 09 - Breadth-First Search
Quiz 01 - Review
Lecture 10 - Depth-First Search
Lecture 11 - Weighted Shortest Paths
Problem Session 05 - Graph Radius, Graph Schematics, Breadth and Depth-First Searches
Lecture 12 - Bellman-Ford
Problem Session 06 - Topological Ordering, DAG Relaxation, Bellman-Ford, and Python Code
Lecture 13 - Dijkstra
Problem Session 07 - Dijkstra Algorithm, Weighted Graph Radius, Weighted Ratios
Lecture 14 - APSP and Johnson
Quiz 02 - Review
Lecture 15 - Dynamic Programming, Part 1: SRTBOT, Fib, DAGs, Bowling
Lecture 16 - Dynamic Programming, Part 2: LCS, LIS, Coins
Problem Session 08 - Solving Recursively, O(n)-time Dynamic Programming, Topological Order
Lecture 17 - Dynamic Programming, Part 3: APSP, Parens, Piano
Lecture 18 - Dynamic Programming, Part 4: Rods, Subset Sum, Pseudo Polynomial
Lecture 19 - Complexity
Quiz 03 - Review
Lecture 20 - Course Review
Lecture 21 - Algorithms - Next Steps

References
6.006 Introduction to Algorithms (Spring 2020)
Instructors: Prof. Erik Demaine, Dr. Jason Ku, and Prof. Justin Solomon. Lecture Notes. Lecture Videos. Exams and Solutions. Assignments: Problem Sets with Solutions.