# Introduction to Algorithms

- Institution: Massachusetts Institute of Technology
- Department: Electrical Engineering and Computer Science
- Taught by: Prof. Erik Demaine, Dr. Jason Ku, Prof. Justin Solomon
- Term: Spring 2020
- Level: Undergraduate
- Language: English
- Subjects: Mathematics, Computer science, Engineering
- Source: [MIT OpenCourseWare](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/)
- Licence: [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) (Non-commercial use only.)
- Syllabus: [at the source](https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/syllabus/)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

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.

## Lectures

1. [Lecture 1: Algorithms and Computation](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/eee93f07f067), 46 min (Video)
2. [Lecture 2: Data Structures and Dynamic Arrays](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/b8f3d9d2d49e), 51 min (Video)
3. [Problem Session 1](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/360ca746b793), 1 h 27 min (Video)
4. [Lecture 3: Sets and Sorting](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/3fd01ae90c41), 53 min (Video)
5. [Lecture 4: Hashing](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/768c47cc38a1), 53 min (Video)
6. [Problem Session 2](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/098e822103b2), 1 h 28 min (Video)
7. [Lecture 5: Linear Sorting](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/fe250bfcb1bf), 52 min (Video)
8. [Problem Session 3](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/801f938467ce), 1 h 27 min (Video)
9. [Lecture 6: Binary Trees, Part 1](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/370778785be1), 51 min (Video)
10. [Lecture 7: Binary Trees, Part 2: AVL](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/5e48b987c07e), 55 min (Video)
11. [Problem Session 4](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/8d5fc077714c), 1 h 30 min (Video)
12. [Lecture 8: Binary Heaps](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/730ad3e3de65), 51 min (Video)
13. [Lecture 9: Breadth-First Search](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/a6cf3b2eadbe), 53 min (Video)
14. [Quiz 1 Review](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/da2afc2eec03), 1 h 26 min (Video)
15. [Lecture 10: Depth-First Search](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/83e51b5f295e), 53 min (Video)
16. [Lecture 11: Weighted Shortest Paths](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/7b23a3e6ac84), 58 min (Video)
17. [Problem Session 5](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/7325fb88ed4e), 1 h 29 min (Video)
18. [Lecture 12: Bellman-Ford](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/cebd9e23a059), 58 min (Video)
19. [Lecture 13: Dijkstra](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/d0bd407e1289), 58 min (Video)
20. [Problem Session 7](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/30e1371f2798) (Video)
21. [Lecture 14: APSP and Johnson](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/a7a9b8da8569), 57 min (Video)
22. [Quiz 2 Review](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/8cbfc92ca5dc), 1 h 23 min (Video)
23. [Lecture 15: Dynamic Programming, Part 1: SRTBOT, Fib, DAGs, Bowling](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/1eb99c70c9a7), 58 min (Video)
24. [Lecture 16: Dynamic Programming, Part 2: LCS, LIS, Coins](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/6ec88818cd51), 59 min (Video)
25. [Problem Session 8](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/4fd803f3313f) (Video)
26. [Lecture 17: Dynamic Programming, Part 3: APSP, Parens, Piano](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/c02438b53305), 1 h 4 min (Video)
27. [Lecture 18: Dynamic Programming, Part 4: Rods, Subset Sum, Pseudopolynomial](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/29dee082882a), 1 h 4 min (Video)
28. [Lecture 19: Complexity](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/4d0d6c3f991b), 1 h (Video)
29. [Problem Session 9](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/484c5da22f1e) (Video)
30. [Quiz 3 Review](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/3c8be76cb03b), 1 h 24 min (Video)
31. [Lecture 20: Course Review](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/d04d216de6e6), 56 min (Video)
32. [Lecture 21: Algorithms—Next Steps](https://invisiblenetwork.ai/learn/mit/6-006-introduction-to-algorithms-spring-2020/c2a47a6be3a2), 1 h (Video)
