# Lectures

Below are links to the lecture slides.
# DUE SLIDES SECTION STUDY DEMOS
1 Thursday
9/14
Introduction
Union–Find
1.5
guide
Quick-find
Quick-union
Weighted quick-union
2 Tuesday
9/19
Analysis of Algorithms
1.4
guide
Binary search
3 Thursday
9/21
Stacks and Queues
1.3
guide
4 Tuesday
9/26
Elementary Sorts
2.1
guide
Selection
Insertion
Shuffle
5 Thursday
9/28
Mergesort
2.2
guide
Merging
6 Tuesday
10/3
Quicksort
2.3
guide
Partitioning
Quick-select
7 Thursday
10/5
Priority Queues
2.4
guide
Heap
Heapsort
8 Tuesday
10/10
Elementary Symbol Tables
BSTs
3.1
3.2
guide
guide
BST
9 Thursday
10/12
Geometric Applications of BSTs

guide
Kd tree
10 Tuesday
10/17
Balanced Search Trees
3.3
guide
2–3 tree
Red–black BST
11 Thursday
10/19
Hash Tables
3.4
guide
Linear probing
12 Tuesday
10/24
Midterm Exam

13 Thursday
10/26
Midterm Retrospective

14 Tuesday
11/7
Undirected Graphs
4.1
guide
DFS
BFS
15 Thursday
11/9
Directed Graphs
4.2
guide
DFS
Topological sort
16 Tuesday
11/14
Minimum Spanning Trees
4.3
guide
Kruskal
Prim
17 Thursday
11/16
Shortest Paths
4.4
guide
Bellman–Ford
Dijkstra
Topological Sort
18 Tuesday
11/21
Max Flows and Min Cuts
6.4
guide
Ford–Fulkerson
19 Tuesday
11/28
String Sorts
5.1
guide
Key-indexed counting
20 Thursday
11/30
Data Compression
5.5
guide
Huffman
LZW
21 Tuesday
12/5
Tries
5.2
guide
Trie
TST
22 Thursday
12/7
Substring Search
5.3
guide
KMP
23 Tuesday
12/12
Regular Expressions
5.4
guide
NFA simulation
NFA construction
24 Thursday
12/14
Algorithm Design

Readings.All readings refer to Algorithms, 4th edition by R. Sedgewick and K. Wayne unless otherwise specified.

Study guide. Associated with each lecture is a study guide, which summarizes the most important topics and ideas from the lecture. It also includes optional (and ungraded) exercises.

• C level: requires that you be able to carry out the algorithm mechanically. Similar to many of the Quizzera quizzes.
• B level: requires that you really understand what is going on. The exams will have plenty of these.
• A level: requires deep comprehension, involves clever tricks, covers tangential material (or perhaps even all three).

Advice. In general, slides are intended for the lecture presentations and do not provide thorough descriptions of the material alone; for reference, read the indicated sections from Algorithms, 4th edition. An effective strategy is to skim the textbook before the lecture, read it thoroughly soon afterwards, complete the corresponding Quizzera quiz (and perhaps some additional B-level exercises from the study guide).

iClicker policy. Using an iClicker during lecture counts towards the participation component of your course grade. Using a classmate’s iClicker during lecture (or allowing someone else to use your iClicker during lecture) is prohibited.

Errata. Here is a list of known errors in the lecture slides and textbook.