Prof. Dana Moshkovitz
Prof. Bruce Tidor
6.046J / 18.410J
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.
Moshkovitz, Dana, and Bruce Tidor. 6.046J Design and Analysis of Algorithms, Spring 2012. (MIT OpenCourseWare: Massachusetts Institute of Technology), http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012 (Accessed). License: Creative Commons BY-NC-SA