Computer Science 226
Algorithms and Data Structures
Fall 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 Fall 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 9/13 Intro · Union Find 1up · 4up 1.5 Quick-find · Quick-union
2 9/18 Analysis of Algorithms 1up · 4up 1.4 Binary search
3 9/20 Stacks and Queues 1up · 4up 1.3 Dijkstra 2-stack
4 9/25 Elementary Sorts 1up · 4up 2.1 Selection · Insertion · Shuffle · Graham
5 9/27 Mergesort 1up · 4up 2.2 Merging
6 10/2 Quicksort 1up · 4up 2.3 Partitioning · 3-way · Dual-pivot
7 10/4 Priority Queues 1up · 4up 2.4 Heap · Heapsort
8 10/9 Elementary Symbol Tables · BSTs 1up · 4up 3.1–3.2 BST
9 10/11 Geometric Applications of BSTs 1up · 4up Kd tree · Interval search tree
10 10/16 Balanced Search Trees 1up · 4up 3.3 2-3 tree · Red-black BST
11 10/18 Hash Tables 1up · 4up 3.4 linear probing
12 10/23 Midterm Exam
13 10/25 Undirected Graphs 1up · 4up 4.1 DFS · BFS · Connected components
14 11/6 Directed Graphs 1up · 4up 4.2 DFS · Topological sort · Kosaraju-Sharir
15 11/8 Minimum Spanning Trees 1up · 4up 4.3 Greedy · Kruskal · Prim
16 11/13 Shortest Paths 1up · 4up 4.4 Dijkstra · Acyclic · Bellman-Ford
17 11/15 Maximum Flow 1up · 4up 6.4 Ford-Fulkerson
18 11/20 String Sorts 1up · 4up 5.1 Key-indexed counting
19 11/27 Tries 1up · 4up 5.2 Trie · TST
20 11/29 Substring Search 1up · 4up 5.3 KMP
21 12/4 Regular Expressions 1up · 4up 5.4 NFA simulation · NFA construction
22 12/6 Data Compression 1up · 4up 5.5 Huffman · LZW
23 12/11 Reductions 1up · 4up
24 12/13 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.