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
theaters
Lecture Videos
theaters
Recitation Videos
assignment_turned_in
Problem Sets with Solutions
grading
Exams with Solutions
notes
Lecture Notes
Instructor Insights
![A picture of a blue frisbee with a four node graph printed on it.](/courses/6-046j-design-and-analysis-of-algorithms-spring-2015/6afddb714577eef8db0746c89641b178_6-046js15.jpg)
Frisbees® featuring a flow network were tossed out during lectures to reward class participation. (Photo courtesy of Prof. Devadas)