Design and Analysis of Algorithms

A directed graph with three sources, three sinks (two of which are distinct), and several other nodes.

An instance of the multi-commodity flow problem. This could be used to represent the transport of emergency relief supplies after a natural disaster. See Lecture 13 for more information. (Image courtesy of Ben Zinberg.)


MIT Course Number

6.046J / 18.410J

As Taught In

Spring 2012



Cite This Course

Course Description

Course Features

Course Description

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.

Other Versions

Other OCW Versions

OCW has published multiple versions of this subject. Question_OVT logo

Related Content

Dana Moshkovitz, and Bruce Tidor. 6.046J Design and Analysis of Algorithms. Spring 2012. Massachusetts Institute of Technology: MIT OpenCourseWare, License: Creative Commons BY-NC-SA.

For more information about using these materials and the Creative Commons license, see our Terms of Use.