Lectures

This table contains links to the lecture slides.
# DATE SLIDES SECTION STUDY DEMOS
1 Thursday
9/2
 Introduction  
 Percolation  

2 Tuesday
9/7
 Union–Find  
1.5
guide
Quick-find
Quick-union
Weighted quick-union
3 Thursday
9/9
 Analysis of Algorithms  
1.4
guide
4 Tuesday
9/14
 Stacks and Queues  
1.3
guide
Function-call stack
Resizing-array queue
5 Thursday
9/16
 Advanced Java  

guide
6 Tuesday
9/21
 Elementary Sorts  
2.1
guide
Selection sort
Insertion sort
Binary search
7 Thursday
9/23
 Mergesort  
2.2
guide
Merging
8 Tuesday
9/28
 Quicksort  
2.3
guide
2-way partitioning
3-way partitioning
Quickselect
9 Thursday
9/30
 Priority Queues  
2.4
guide
Heap operations
10 Tuesday
10/5
 Elementary Symbol Tables  
 BSTs  
3.1
3.2
guide
guide
BST operations
11 Thursday
10/7
 Geometric Applications of BSTs  

guide
Line segment intersection
K-d trees
12 Tuesday
10/12
 Balanced Search Trees  
3.3
guide
2–3 trees
Red–black BSTs
13 Thursday
10/14
 Hash Tables  
3.4
guide
Linear probing
14 Tuesday
10/26
 Graphs and Digraphs I  
4.1
4.2
guide
Directed DFS
Directed paths
Undirected DFS
15 Thursday
10/28
 Graphs and Digraphs II  
4.1
4.2
guide
Directed BFS
Topological sort
16 Tuesday
11/2
 Minimum Spanning Trees  
4.3
guide
Kruskal
Prim
17 Thursday
11/4
 Shortest Paths  
4.4
guide
Bellman–Ford
Dijkstra
18 Tuesday
11/9
 Self-Adjusting Data Structures  

Splay trees
19 Thursday
11/11
 Dynamic Programming  
IntroCS
guide
20 Tuesday
11/16
 String Sorts  
5.1
guide
Key-indexed counting
21 Thursday
11/18
 Tries  
5.2
guide
Tries
Ternary search tries
22 Tuesday
11/23
 no lecture 

23 Tuesday
11/30
 Data Compression  
5.5
guide
Huffman
LZW
24 Thursday
12/2
 Algorithm Design  

guide

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.

You are welcome to discuss solutions to the exercises with classmates or on the course discussion forum.

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).

iClickers. To make the lectures more interactive, we will be using iClickers. You must register your remote or mobile/web app to to receive participation credit.

Using a classmate’s iClicker (or allowing someone else to use your iClicker) during lecture is prohibited. You must attend lecture to earn participation credit.

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