MIT 6.006 - Introduction to Algorithms
Taught by Prof. Erik Demaine, Prof. Srini Devadas in Fall, 2011
Course Description
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. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.
Course website
Lecture Videos (YouTube)
Lectures
- Algorithmic Thinking, Peak Finding
- Models of Computation, Document Distance
- Insertion Sort, Merge Sort
- Heaps and Heap Sort
- Binary Search Trees, BST Sort
- AVL Trees, AVL Sort
- Counting Sort, Radix Sort, Lower Bounds for Sorting
- Hashing with Chaining
- Table Doubling, Karp Rabin
- Open Addressing, Cryptographic Hashing
- Dijkstra
- Bellman-Ford
- Speeding up Dijkstra
- Dynamic Programming 1: Fibonacci, Shortest Paths