Course Information | Syllabus | Lectures | Assignments | Exams |
Lecture 23 - April 11 |
Semidefinite Programming
0.878-approximation for Max-Cut
Coloring 3-colorable graphs
Slides: [CMPT405-Lecture23.pptx]
Notes on max-cut [notes]
Coloring 3-colorable graphs using SDP [notes]
|
Lecture 22 - April 6 |
Semidefinite Programming
0.878-approximation for Max-Cut
Slides: [CMPT405-Lecture22.pptx]
Notes on SDP [notes]
Notes on max-cut [notes]
|
Lecture 21 - April 4 |
Weighted min vertex cover using LP duality
Min cost perfect matching in bipartite graphs (again)
Slides: [CMPT405-Lecture21.pptx]
Notes on vertex cover [notes]
Notes on perfect matchings [notes]
|
Lecture 20 - March 30 |
LP Duality
Slides: [CMPT405-Lecture20.pptx]
Notes [notes]
|
Lecture 19 - March 28 |
More on Linear Programming
2-approximation for weighted vertex cover
O(ln(n))-approximation for weighted setscover
Integrality gaps
Slides: [CMPT405-Lecture19.pptx]
Notes on vertex cover and set cover [notes]
|
Lecture 18 - March 23 |
Introduction to Linear Programming
Slides: [CMPT405-Lecture18.pptx]
Notes on linear programming [notes]
Notes on weighted min vertex cover [notes]
|
Lecture 17 - March 21 |
7/8-approximation for Max-3-CNF - a deterministic algorithm
Chernoff bound: two applications
- Estimating pi
- Discrepancy of a hypergraph
- Approximate DNF counting
Slides: [CMPT405-Lecture17.pptx]
Notes on discrepancy [notes]
Notes on approximate DNF counting [notes]
|
Lecture 16 - March 16 |
7/8-approximation for Max-3-CNF
Analysis of Quick Sort with random pivot
Slides: [CMPT405-Lecture16.pptx]
Notes on quick sort [notes]
|
Lecture 15 - March 14 |
Coping with NP-hardness: Approximation algorithms
2-approximation for Min-Vertex-Cover
ln(n)-approximation for Set-Cover
n/log(n)-approximation for Max-Clique
Slides: [CMPT405-Lecture15.pptx]
|
Lecture 14 - March 9 |
Intractability
Slides: [slides by Kevin Wayne]
|
Lecture 13 - March 7 |
Dynamic Programming
Finding a path of length k in time exp(k): Color coding
Slides: [CMPT405-Lecture13.pptx]
Notes on color coding [notes]
|
Lecture 12 - March 2 |
Dynamic Programming
The knapsack problem
Finding Hamiltonian path in exp(n) time
Slides: [CMPT405-Lecture12.pptx]
Notes on Hamiltonian path [notes]
|
Lecture 11 - February 28 |
Dynamic Programming
Fibonacci sequence
Edit distance
Slides: [CMPT405-Lecture11.pptx]
Chapter 6 in KT
|
Lecture 10 - February 16 |
Fast Fourier Transform cont
Slides: [CMPT405-Lecture10.pptx]
Slides for FFT: [slides by Kevin Wayne]
Chapter 5 in KT
|
Lecture 9 - February 14 |
Finding k'th smallest element in an array cont
Fast Fourier Transform
Slides: [CMPT405-Lecture09.pptx]
Slides for FFT: [slides by Kevin Wayne]
Chapter 5 in KT
|
Lecture 8 - February 9 |
Quick Sort
Finding k'th smallest element in an array
Slides: [CMPT405-Lecture08.pptx]
|
Lecture 7 - February 7 |
Faster Matrix Multiplication
Freivalds' Algorithm
Matrix Multiplication modulo p
Heuristics vs worst case algorithms
Slides: [CMPT405-Lecture07.pptx]
|
Lecture 6 - February 2 |
Divide and Conquer
Master Theorem
Faster Integer Multiplication
Slides: [CMPT405-Lecture06.pptx]
|
Lecture 5 - January 26 |
Isolation lemma
Finding min-weight perfect matching in bipartite graphs
Slides: [CMPT405-Lecture05.pptx]
Notes from UW [notes]
|
Lecture 4 - January 24 |
Schwartz–Zippel lemma
Finding perfect matching in bipartite graphs
Slides: [CMPT405-Lecture04.pptx]
Notes from UW [notes]
|
Lecture 3 - January 19 |
Graph algorithms
- Kruskal's algorithm for minimum spanning tree
- Karger's algorithm for finding min-cut
Slides: [CMPT405-Lecture03.pptx]
Chapters 4.5 and 12.3 in KT
|
Lecture 2 - January 17 |
Graph algorithms
- DFS
- Directed Directed acyclic graphs
- Topological sorting in DAGs
- Finding connected components in a graph
Slides: [CMPT405-Lecture02.pptx]
Chapter 3 in KT
|
Lecture 1 - January 12 |
Introduction
Graphs basics
Slides: [CMPT405-Lecture01.pptx]
|