Lectures

This table contains links to the lecture slides before the midterm.

[COVID-19 Update] Starting March 23, in-class lectures are replaced by video lectures through CUVids. See this Ed post for a list of all course policy updates related to COVID-19.
# DATE SLIDES SECTION STUDY DEMOS
1 Tuesday
2/04
 Introduction  
 Union–Find  
1.5
guide
Quick-find
Quick-union
Weighted quick-union
2 Thursday
2/06
 Analysis of Algorithms  
1.4
guide
Binary search
3 Tuesday
2/11
 Stacks and Queues  
1.3
guide
4 Thursday
2/13
 Elementary Sorts  
2.1
guide
Selection
Insertion
5 Tuesday
2/18
 Mergesort  
2.2
guide
Merging
6 Thursday
2/20
 Quicksort  
2.3
guide
Partitioning
Quick-select
7 Tuesday
2/25
 Priority Queues  
2.4
guide
Heap
Heapsort
8 Thursday
2/27
 Elementary Symbol Tables  
 BSTs  
3.1
3.2
guide
guide
BST
9 Tuesday
3/03
 Balanced Search Trees  
3.3
guide
2–3 tree
Red–black BST
10 Thursday
3/5
 Geometric Applications of BSTs  

guide
Kd tree
11 Tuesday
3/10
 Hash Tables  
3.4
guide
Linear probing
12 Thursday
3/12
 IntelliJ debugging workshop
(optional and chill; via Zoom) 

debugging.zip
13 Tuesday
3/24
 Midterm Exam 
McGraw study guide
Exam Information
 


This table contains links to the video lectures after the midterm.


# DATE LECTURES SECTION STUDY DEMOS
14 Thursday
3/26
 Undirected Graphs 
(excluding connected components)
4.1
guide
DFS
BFS
15 Tuesday
3/31
 Directed Graphs 
(excluding strong components)
4.2
guide
DFS
BFS
Topological sort
16 Thursday
4/2
 Minimum Spanning Trees 
4.3
guide
Kruskal
Prim
17 Tuesday
4/7
 Shortest Paths 
4.4
guide
Bellman–Ford
Dijkstra
18 Thursday
4/9
 Maxflows and Mincuts 
6.4
guide
Ford–Fulkerson
19 Tuesday
4/14
 String Sorts 
(excluding Suffix Arrays)
5.1
guide
Key-indexed counting
20 Thursday
4/16
 Tries 
5.2
guide
Trie
TST
21 Tuesday
4/21
 Data Compression 
5.5
guide
Huffman
LZW
22 Thursday
4/23
 Substring Search 
(excluding Rabin–Karp)
5.3
guide
KMP
23 Tuesday
4/28
 Regular Expressions 
5.4
guide
NFA simulation
NFA construction
24 Thursday
4/30
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.

Advice. In general, slides are intended for the lecture presentations and do not provide thorough descriptions of the material alone; for reference, read the corresponding sections from Algorithms, 4th edition. An effective strategy is to skim the textbook before the lecture, read it thoroughly soon afterwards, and 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.