|
| # | DATE | LECTURE SLIDES | READINGS | BOOKSITE | DEMOS |
|---|---|---|---|---|---|
| 1 | 9/17 | Intro · Union find | Algs 3 (Parts 1–4), Chapter 1 | 0 | |
| 2 | 9/22 | Analysis of algorithms | Intro Java, Section 4.1 | 1.2–1.3 | |
| 3 | 9/24 | Stacks and queues | Intro Java, Section 4.3 | 2.4 | |
| 4 | 9/29 | Elementary sorts | Algs 4, Section 3.1 | 3.1 | sorting animations |
| 5 | 10/1 | Mergesort | Algs 4, Section 3.2 | 3.2 | sorting animations |
| 6 | 10/6 | Quicksort | Algs 4, Section 3.3 | 3.3 | |
| 7 | 10/8 | Priority queues | Algs 4, Section 3.4 | 3.4 | |
| 8 | 10/13 | Symbol tables · BSTs | Algs 4, Sections 4.1–4.2 | 4.1–4.2 | |
| 9 | 10/15 | Balanced BSTs | Algs 4, Section 4.3 | 4.3 | |
| 10 | 10/20 | Hash tables · Applications | Algs 4, Section 4.4 | 4.4–4.5 | |
| 11 | 10/22 | Undirected graphs | Algs 3 (Part 5), Chapters 17–18 | 5.1 | DFS BFS maze |
| 12 | 10/27 | Minimum spanning trees | Algs 3 (Part 5), Chapter 20 | 5.3 | Graph applet |
| 13 | 10/29 | Midterm (through lecture 10) | |||
| 14 | 11/10 | Directed graphs | Algs 3 (Part 5), Chapter 19 | 5.2 | DFS topological sort |
| 15 | 11/12 | Shortest paths | Algs 3 (Part 5), Chapter 21 | 5.4 | Dijkstra |
| 16 | 11/17 | Geometric algorithms | Algs 2, Chapters 24–25 | 7.1–7.2 | convex hull Voronoi |
| 17 | 11/19 | Geometric search | Algs 2, Chapter 26–27 | 7.3–7.4 | sweep line intersection |
| 18 | 11/24 | Radix sorts | Algs 4, Section 6.1 | 6.1 | string sorting |
| 19 | 12/1 | Tries | Algs 4, Section 6.2 | 6.2 | |
| 20 | 12/3 | Substring search | Algs 4, Section 6.3 | 6.3 | substring search |
| 21 | 12/8 | Pattern matching | Algs 4, Section 6.4 | 6.4 | |
| 22 | 12/10 | Data compression | Algs 4, Section 6.5 | 6.5 | |
| 23 | 12/15 | Reductions | - | 8.6 | |
| 24 | 12/17 | Combinatorial search | - | 8.8 | The Longest Path [mp3] |
Students are fully responsible for all material presented in lectures, even if some of it does not appear in these slides. These slides are intended for the lecture presentations; for reference, use the indicated reading (fourth column in the table). An effective strategy is to look over the reading material before the lecture, then study it in detail soon afterwards. We have only begun to build the booksite for the 4th edition, but you might find it useful since it contains links to the Java code from lecture. The fifth column in the table gives links into the booksite.