Lectures

LectDateTopicNotesReferences
1 08/26 Basic paradigms
History of Algorithms
Asymptotic notation
Worst-case analysis
Recurrence relations
Euclid's GCD algoritm
Notes DPV: 0, 2
KT: 2
CLRS: 1, 2, 3, 4
2 08/28 Basic paradigms
Divide and conquer
Quick sort
Merge sort
Notes DPV: 2.3
KT: 5.1
CLRS: 2.3, 7
3 09/02 Basic paradigms
Linear-time selection/median finding
Strassen's matrix multiplication
Notes DPV: 2.4, 2.5
KT: 13.5
CLRS: 9, 28.2
4 09/04 Graph Algorithms
Graph representations
Depth First Search
Notes DPV: 3.1, 3.2, 3.3
KT: 3.1, 3.2, 3.3
CLRS: 22.1, 22.3
5 09/09 Graph Algorithms
Testing acyclicity
Topological sorting (linearization) of a DAG
(Strongly) connected components
Notes DPV: 3.3, 3.4
KT: 3.5, 3.6
CLRS: 22.4, 22.5
6 09/11 Graph Algorithms
Breadth First Search
(Non-negative) edge lengths: Dijkstra
Notes DPV: 4.1, 4.2, 4.3, 4.4, 4.5
KT: 3.2, 3.3, 3.4, 4.4
CLRS: 22.2, 24.3
7 09/16 Graph Algorithms
Negative edge lengths: Bellman-Ford
All-pairs shortest paths
Notes DPV: 4.6, 6.6
KT: 6.8
CLRS: 24.1, 25
8 09/18 Basic paradigms
Greedy algorithms
Fractional knapsack
Minimum spanning tree: Kruskal, Prim
Notes DPV: 5
KT: 4
CLRS: 16, 23
9 09/23 Basic paradigms
Dynamic programming
Shortest path in a DAG
Longest increasing subsequence
0-1 knapsack
Independent Set in Trees
Notes DPV: 6
KT: 6
CLRS: 15
10 09/25 Graph Algorithms
Network flows
Augmenting paths
Notes DPV: 7.2
KT: 7.1
CLRS: 26.1, 26.2
11 9/30 Graph Algorithms
Minimum cuts
Scaling algorithms
Notes DPV: 7.2
KT: 7.2, 7.3
CLRS: 26.2
12 10/02 Graph Algorithms
Applications of flows
Bipartite matching
Course selection
Notes DPV: 7.3
KT: 7.5, 7.11
CLRS: 26.3
13 10/07 Data structures
Binary search trees
Height-balanced trees
Notes CLRS: 12, 13
10/09 Quiz 1: Lectures 1-13 (20% credit)
10/14 Fall break: no class
14 10/16 Guest Lecturer: Kyle Fox
Data structures
Computational geometry
Convex hull: Graham scan, Jarvis march
Notes CLRS: 33
15 10/21 Data structures
Amortization
Potential functions
Binary counters
Notes CLRS: 17
16 10/23 Data structures
Union-find
(see Lecture 15) CLRS: 21
17 10/28 Randomized Algorithms
Coupon Collector
Resource Contention
Notes DPV: virtual chapter
KT: 13
CLRS: 5, 11
18 10/30 Randomized algorithms
Monte Carlo: minimum cut
Notes DPV: virtual chapter
KT: 13
CLRS: 5, 11
19 11/04 Randomized Algorithms
Las Vegas: quicksort
Hashing
Notes DPV: virtual chapter
KT: 13
CLRS: 5, 11
20 11/6 Linear programming
Examples of LP formulations
LP Algorithms
Notes CLRS: 29
21 11/11 Linear Programming
Separation oracles
LP Duality
Notes CLRS: 29
22 11/13 Linear Programming
Weak and Strong LP Duality
Flow cut duality
Notes CLRS: 29
23 11/18 Coping with impossibility
Complexity classes: P and NP
Polynomial reductions
Notes DPV: 8
KT: 8
CLRS: 34
24 11/20 Coping with impossibility
Polynomial reductions
Vertex cover (greedy)
Notes DPV: 8, 9
KT: 8, 11
CLRS: 34, 35
25 11/25 Coping with impossibility
Greedy algorithm (set cover)
PTAS (0-1 Knapsack)
Notes DPV: 9
KT: 11
CLRS: 35
11/27 Thanksgiving break: no class
26 12/2 Coping with impossibility
LP rounding (vertex cover, set cover)
Notes KT: 11
CLRS: 35
12/04 Quiz 2: Lectures 14-26 (20% credit)
12/13 Final Exam: All lectures
7:00-10:00pm (30% credit)

page top