MIT 6.046J: Design and Analysis of Algorithms
The advanced algorithms course at MIT, building on 6.006 with more sophisticated techniques and proofs.
About This Course
MIT 6.046J is the natural continuation of 6.006, diving deeper into algorithm design paradigms and analysis techniques. The course covers advanced topics that are essential for understanding modern algorithm research and tackling harder computational problems.
What You Will Learn
- Divide and Conquer: Advanced applications, convex hull, median finding
- Randomized Algorithms: Skip lists, hashing, randomized analysis
- Amortized Analysis: Aggregate, accounting, and potential methods
- Network Flow: Ford-Fulkerson, max-flow min-cut, bipartite matching
- Linear Programming: Simplex, duality, LP relaxations
- Computational Geometry: Convex hull, line segment intersection
- Approximation Algorithms: Vertex cover, TSP, set cover
- NP-Hardness: Reductions and intractability
Prerequisites
MIT 6.006 (Introduction to Algorithms) or equivalent. Strong mathematical maturity.
External Links
Course content belongs to MIT OpenCourseWare. Licensed under Creative Commons BY-NC-SA.