Lectures

This table contains links to the lecture slides.
# DATE SLIDES SECTION DEMOS
1 Tuesday
1/28
 Introduction  
 Union–Find  
1.5
Quick-union
Weighted quick-union
2 Thursday
1/30
 Analysis of Algorithms  
1.4
3 Tuesday
2/4
 Stacks and Queues I:
Resizable Arrays
 
1.3
Function-call stack
Resizable-array queue
4 Thursday
2/6
 Stacks and Queues II:
Linked Lists
 
1.3
5 Tuesday
2/11
 Elementary Sorts  
2.1
Selection sort
Insertion sort
Binary search
6 Thursday
2/13
 Mergesort  
2.2
Merging
7 Tuesday
2/18
 Quicksort  
2.3
Quicksort
2-way partitioning
3-way partitioning
Quickselect
8 Thursday
2/20
 Priority Queues  
2.4
Heap operations
9 Tuesday
2/25
 Elementary Symbol Tables  
 BSTs  
3.1
3.2
BST operations
10 Thursday
2/27
 Balanced Search Trees  
3.3
2–3 trees
Red–black BSTs
11 Tuesday
3/4
 Midterm Exam 

12 Thursday
3/6
 no lecture 

13 Tuesday
3/18
 Geometric Applications of BSTs  

Line segment intersection
K-d trees
14 Thursday
3/20
 Hash Tables  
3.4
Linear probing
15 Tuesday
3/25
 Graphs and Digraphs I  
4.1
4.2
Directed DFS
Directed paths
Undirected DFS
16 Thursday
3/27
 Graphs and Digraphs II  
4.1
4.2
Directed BFS
Topological sort
The lectures below have not yet been updated for Spring 2025.
17 Tuesday
4/1
 Minimum Spanning Trees  
4.3
Kruskal
Prim
18 Thursday
4/3
 Shortest Paths  
4.4
Bellman–Ford
Dijkstra
19 Tuesday
4/8
 Dynamic Programming  

IntroCS
20 Thursday
4/10
 Maxflows and Mincuts  
6.4
Ford–Fulkerson
21 Tuesday
4/15
 Randomness  

Knuth shuffle
Karger
22 Thursday
4/17
 Multiplicative Weights  

23 Tuesday
4/22
 Intractability  

24 Thursday
4/24
 Algorithm Design  


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

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 PrairieLearn quiz.

iClickers. To make the lectures more interactive, we will be using iClickers. To register your mobile/web app: