# Lectures

This table contains links to the lecture slides.
# DATE SLIDES SECTION STUDY DEMOS
1 Tuesday
9/5
Introduction
Union–Find
1.5
guide
Quick-union
Weighted quick-union
2 Thursday
9/7
Analysis of Algorithms
1.4
guide
3 Tuesday
9/12
Stacks and Queues
1.3
guide
Function-call stack
Resizing-array queue
4 Thursday
9/14

guide
5 Tuesday
9/19
Elementary Sorts
2.1
guide
Selection sort
Insertion sort
Binary search
6 Thursday
9/21
Mergesort
2.2
guide
Merging
7 Tuesday
9/26
Quicksort
2.3
guide
Quicksort
2-way partitioning
3-way partitioning
Quickselect
8 Thursday
9/28
Priority Queues
2.4
guide
Heap operations
9 Tuesday
10/3
Elementary Symbol Tables
BSTs
3.1
3.2
guide
guide
BST operations
10 Thursday
10/5
Balanced Search Trees
3.3
guide
2–3 trees
Red–black BSTs
11 Tuesday
10/10
Midterm

12 Thursday
10/12
Efficient BSTs

13 Tuesday
10/24
Geometric Applications of BSTs

guide
Line segment intersection
K-d trees
14 Thursday
10/26
Hash Tables
3.4
guide
Linear probing
15 Tuesday
10/31
Graphs and Digraphs I
4.1
4.2
Directed DFS
Directed paths
Undirected DFS
16 Thursday
11/2
Graphs and Digraphs II
4.1
4.2
Directed BFS
Topological sort
17 Tuesday
11/7
Minimum Spanning Trees
4.3
guide
Kruskal
Prim
18 Thursday
11/9
Shortest Paths
4.4
guide
Bellman–Ford
Dijkstra
19 Tuesday
11/14
Dynamic Programming

guide
IntroCS
20 Thursday
11/16
Maxflows and Mincuts
6.4
guide
Ford–Fulkerson
21 Tuesday
11/28
Randomness

Knuth Shuffle
Karger's Algorithm
22 Thursday
11/30
Multiplicative Weights

23 Tuesday
12/5
Intractability

24 Thursday
12/7
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.

• 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).
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. To earn participation credit, you must attend lecture and participate in the iClicker polls. You must also register your mobile/web app:

• If needed, create a iClicker Student account.

• Select Princeton University as the institution.