Introduction to Algorithms (SMA 5503)

Cover of the textbook used in this course.

Cover of 6.046J textbook, Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest, and Stein. (Image courtesy of MIT Press.)


MIT Course Number

6.046J / 18.410J

As Taught In

Fall 2005



Translated Versions

(비디오) 한국

Cite This Course

Course Description

Course Features

Course Highlights

This course features a complete set of lecture notes and videos. The course textbook was co-written by Prof. Leiserson.

Course Description

This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.

This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5503 (Analysis and Design of Algorithms).

Other Versions

Related Content

Charles Leiserson, and Erik Demaine. 6.046J Introduction to Algorithms (SMA 5503). Fall 2005. 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.