6.1220
Design and Analysis of Algorithms
Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; greedy algorithms; amortized analysis; graph algorithms; and shortest paths. Advanced topics may include network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.
Prerequisites & course information
Same subject as 18.410[J] Prereq: 6.1200[J] and 6.1210 U (Fall, Spring) 4-0-8 units
Sources
- Course catalogue ↗2026–2027