Readings, Introduction to Algorithms, Electrical Engineering and Computer Science, MIT OpenCourseWare

6.006,algorithms,data structures,algorithm performance,algorithm analysis,sorting,trees,hashing,numerics,graphs,shortest paths,dynamic programming,python,algorithms and data structures

Readings refer to chapters and/or sections of the course textbook:

Cormen, Thomas, Charles Leiserson, Ronald Rivest, and Clifford Stein. Introduction to Algorithms. 3rd ed. MIT Press, 2009. ISBN: 9780262033848.

Course readings.

Unit 1: Introduction
1 Algorithmic thinking, peak finding 1, 3, D.1
2 Models of computation, Python cost model, document distance 1, 3, Python Cost Model
Unit 2: Sorting and Trees
3 Insertion sort, merge sort 1.2, 2.1–2.3, 4.3–4.6
4 Heaps and heap sort 6.1–6.4
5 Binary search trees, BST sort 10.4, 12.1–12.3, Binary Search Trees
6 AVL trees, AVL sort 13.2, 14
7 Counting sort, radix sort, lower bounds for sorting and searching 8.1–8.3
Unit 3: Hashing
8 Hashing with chaining 11.1–11.3
9 Table doubling, Karp-Rabin 17
10 Open addressing, cryptographic hashing 11.4
Quiz 1
Unit 4: Numerics
11 Integer arithmetic, Karatsuba multiplication
12 Square roots, Newton’s method
Unit 5: Graphs
13 Breadth-first search (BFS) 22.1–22.2, B.4
14 Depth-first search (DFS), topological sorting 22.3–22.4
Unit 6: Shortest Paths
15 Single-source shortest paths problem 24.0, 24.5
16 Dijkstra 24.3
17 Bellman-Ford 24.1–24.2
18 Speeding up Dijkstra
Quiz 2
Unit 7: Dynamic Programming
19 Memoization, subproblems, guessing, bottom-up; Fibonacci, shortest paths 15.1, 15.3
20 Parent pointers; text justification, perfect-information blackjack 15.3, Problem 15–4, Blackjack rules
21 String subproblems, psuedopolynomial time; parenthesization, edit distance, knapsack 15.1, 15.2, 15.4
22 Two kinds of guessing; piano/guitar fingering, Tetris training, Super Mario Bros.
Unit 8: Advanced Topics
23 Computational complexity 34.1–34.3
24 Algorithms research topics

This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.

MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.

No enrollment or registration. Freely browse and use OCW materials at your own pace. There’s no signup, and no start or end dates.

Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don’t offer credit or certification for using OCW.

Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)

Leave a Reply

Your email address will not be published. Required fields are marked *