Computer Science 226
Algorithms and Data Structures
Spring 2012


Course Information | Assignments | Exercises | Lectures | Exams | Precepts | Booksite

LECTURES

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.