Note: There are no Programming Assignment Solutions on this site.
-
Week 1 Suggested Readings: Section 1.4 and 1.5 in Algorithms, 4th edition
- Union-Find
- Analysis of Algorithms
- Programming Assignment 1: Percolation and checklist
-
Week 2 Suggested Readings: Section 1.3 and 2.1 in Algorithms, 4th edition
- Stacks and Queues
- Elementary Sorts
- Programming Assignment 2: Deques and Randomized Queues and checklist and FAQ
-
Week 3 Suggested Readings: Section 2.2 and 2.3 in Algorithms, 4th edition
- Mergesort
- Quicksort
- Programming Assignment 3: Collinear Points and checklist
-
Week 4 Suggested Readings: Section 2.4, 3.1 and 3.2 in Algorithms, 4th edition
- Priority Queues
- Elementary Symbol Tables
- Programming Assignment 4: 8-Puzzle and checklist
-
Week 5 Suggested Readings: Section 3.3 in Algorithms, 4th edition
- Balanced Search Trees
- Geometric Applications of BSTs
- Programming Assignment 5: Kd-Trees
-
Week 6 Suggested Readings: Section 3.4 in Algorithms, 4th edition
-
Week 1 Suggested Readings: Section 4.1 and 4.2 in Algorithms, 4th edition
- Undirected Graphs
- Directed Graphs
- Programming Assignment 1: WordNet and checklist
-
Week 2 Suggested Readings: Section 4.3 and 4.4 in Algorithms, 4th edition
- Minimum Spanning Trees
- Shortest Paths
- Programming Assignment 2: Content-Aware Resizing and checklist
-
Week 3 Suggested Readings: Section 6.4 (pp. 886-902) and 5.1 in Algorithms, 4th edition
- Maximum Flow and Minimum Cut
- Radix Sorts
- Programming Assignment 3: Baseball Elimination and checklist
-
Week 4: Break
-
Week 5 Suggested Readings: Section 5.2 and 5.3 in Algorithms, 4th edition
- Tries
- Substring Search
- Programming Assignment 4: Boggle and checklist
-
Week 6 Suggested Readings: Section 5.4 and 5.5 in Algorithms, 4th edition
- Regular Expressions
- Data Compression
- Programming Assignment 5: Burrows-Wheeler algorithm and checklist
-
Week 7 Suggested Readings: Section 6.5 (pp 903-910) and 6.6 (910-921) in Algorithms, 4th edition