Computer Science 226 |
Below are links to the lecture slides. Once the lecture moves above the "Lectures below have not yet been updated for Spring 2012" part of the table, no significant changes will be made. All readings refer to Algorithms, 4th edition by R. Sedgewick and K. Wayne unless otherwise specified.
# | DATE | TOPIC | SLIDES | READINGS | DEMOS |
---|---|---|---|---|---|
1 | 2/6 | Intro · Union Find | 1up · 4up | 1.5 | Quick-find · Quick-union |
2 | 2/8 | Analysis of Algorithms | 1up · 4up | 1.4 | Binary search |
3 | 2/13 | Stacks and Queues | 1up · 4up | 1.3 | Dijkstra 2-stack |
4 | 2/15 | Elementary Sorts | 1up · 4up | 2.1 | Selection · Insertion · Shuffle · Graham |
5 | 2/20 | Mergesort | 1up · 4up | 2.2 | Merging |
6 | 2/22 | Quicksort | 1up · 4up | 2.3 | Partitioning |
7 | 2/27 | Priority Queues | 1up · 4up | 2.4 | Heap · Heapsort |
8 | 2/29 | Elementary Symbol Tables · BSTs | 1up · 4up | 3.1–3.2 | BST |
9 | 3/5 | Balanced Search Trees | 1up · 4up | 3.3 | 2-3 tree · Red-black BST |
10 | 3/7 | Hash Tables · Searching Applications | 1up · 4up | 3.4–3.5 | linear probing |
11 | 3/12 | Midterm Exam | – | – | |
12 | 3/14 | Geometric Applications of BSTs | 1up · 4up | – | Kd tree · Interval search tree |
13 | 3/26 | Undirected Graphs | 1up · 4up | 4.1 | DFS · BFS · Connected components |
14 | 3/28 | Directed Graphs | 1up · 4up | 4.2 | DFS · Topological sort · Kosaraju-Sharir |
15 | 4/2 | Minimum Spanning Trees | 1up · 4up | 4.3 | Greedy · Kruskal · Prim |
16 | 4/4 | Shortest Paths | 1up · 4up | 4.4 | Dijkstra · Acyclic · Bellman-Ford |
17 | 4/9 | Maximum Flow | 1up · 4up | 6.4 | Ford-Fulkerson |
18 | 4/11 | String Sorts | 1up · 4up | 5.1 | Key-indexed counting |
19 | 4/16 | Tries | 1up · 4up | 5.2 | Trie · TST |
20 | 4/18 | Substring Search | 1up · 4up | 5.3 | KMP |
21 | 4/23 | Regular Expressions | 1up · 4up | 5.4 | NFA simulation · NFA construction |
22 | 4/25 | Data Compression | 1up · 4up | 5.5 | Huffman · LZW |
23 | 4/30 | Reductions | 1up · 4up | – | – |
24 | 5/2 | Combinatorial Search | 1up · 4up | – | – |
Advice.
The slides are intended for the lecture presentations;
for reference, read the indicated sections from
Algorithms, 4th edition.
An effective strategy
is to skim the textbook before the lecture, then read it thoroughly
soon afterwards.
We recommend printing the slides before lecture and
annotating them during lecture.
Online viewing and printing. These lecture slides are suitable for online viewing (one per page) or printing (four per page).
Errata. Here is a list of known errors in the lecture slides and textbook.