Help support MIT OpenCourseWare by shopping at Amazon.com!
MIT OpenCourseWare offers direct links to Amazon.com to purchase the books cited in this course.
Click on the book titles and purchase the book
from Amazon.com, and MIT OpenCourseWare will receive up to 10% of all purchases you make. Your support will enable MIT to continue offering open access to MIT courses.
The table below provides information on the course's reading assignments, which are taken from the course textbook: Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, and Clifford
Introduction to Algorithms
. 2nd ed. Cambridge, MA:
. ISBN: 0262032937. In addition to the assigned course readings, see the list of
for the course below.
Analysis of Algorithms, Insertion Sort, Mergesort
Correctness of Algorithms
Substitution, Master Method
Chapters 3-4, excluding section 4.4
Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication
Sections 28.2 and 30.1
Quicksort, Randomized Algorithms
Heapsort, Dynamic Sets, Priority Queues
Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort
Order Statistics, Median
Applications of Median
Hashing, Hash Functions
Universal Hashing, Perfect Hashing
Quiz 1 Review
Quiz 1, In-class
Binary Search Trees, Tree Walks
Relation of BSTs to Quicksort
Analysis of Random BST
Red-black Trees, Rotations, Insertions, Deletions
2-3 Trees, B-trees
Augmenting Data Structures, Dynamic Order Statistics, Interval Trees
Skip Lists handout (
Amortized Algorithms, Table Doubling, Potential Method
Competitive Analysis: Self-organizing Lists
Sleator, Daniel D., and Robert E. Tarjan. "Amortized efficiency of list update and paging
Communications of the ACM
28, no. 2 (February 1985): 202-208.