# Introduction to Algorithms

- MIT Open Courseware
- |
- 23 Lectures
- |
- 0 reviews

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).

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

## Lectures:

Lecture 1 (01:20:36)

## Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort

Step 1100%

Lecture 11 (01:23:45)

## Augmenting Data Structures, Dynamic Order Statistics, Interval Trees

Step 110%

Lecture 17 (01:24:33)

## Shortest Paths I: Properties, Dijkstra's Algorithm, Breadth-first Search

Step 1740%

Lecture 18 (01:17:17)

## Shortest Paths II: Bellman-Ford, Linear Programming, Difference Constraints

Step 184%

## Citation

Leiserson, Charles, and Erik Demaine. 6.046J Introduction to Algorithms (SMA 5503), Fall 2005. (Massachusetts Institute of Technology: MIT OpenCourseWare), http://ocw.mit.edu

## Instructors

Prof. Charles Leiserson

Prof. Erik Demaine

Prof. Erik Demaine

## Additional Notes

schooX is not affiliated or endorsed by Massachusetts Institute of Technology. Please consider donating to MIT by clicking on the donation button below.