6.046J | Spring 2015 | Undergraduate

Design and Analysis of Algorithms

Course Description

This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application. Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography.
Learning Resource Types
Exam Solutions
Exams
Instructor Insights
Lecture Notes
Lecture Videos
Problem Set Solutions
Problem Sets
Problem-solving Videos
A picture of a blue frisbee with a four node graph printed on it.
Frisbees® featuring a flow network were tossed out during lectures to reward class participation. (Photo courtesy of Prof. Devadas)