#

### Randomized Algorithms

- Hashing
- Universal hash functions
- One technical job interview question: How to compare two sets of numbers?
- Bloom filters
- Load balancing — the power of two choices
- Tail bounds — Bernstein, Chernoff, and Hoeffding
- Permutation routing in the hypercube

### Streaming Algorithms

- Finding the most frequent elements
- The Misra–Gries algorithm
- Count–Min Sketch
- Counting distinct elements
- HyperLogLog

### Online algorithms

- Ski rental problem (deterministic and randomized)
- LRU caching
- Analysis of LRU with resource augmentation

### Dynamic Graph Algorithms

### Parameterized Algorithms

- Intro to FPT Algorithms
- FPT algorithm for Longest Path
- FPT algorithm for Vertex Cover

### Approximation Algorithms

- Approximation algorithm for Vertex Cover
- Linear Programming-based approximation algorithm for Set Cover

### Linear Programming

- Overview of Linear Programming
- LP duality
- Karush–Kuhn–Tucker conditions
- Farkas' Lemma and its physical interpretation
- Proof of Farkas' Lemma

### Applications of linear programming

### Other topics we may discuss in class

- Dimensionality reduction
- Bourgain's Theorem
- Cheeger's Inequality
- Karger's algorithm
- Principal component analysis

#