Advanced Topics in Algorithms 2019/2020 (CC4020)

Handouts

Overview

  1. Balanced Binary Search Trees (binary search trees, AVL trees, red-black trees)
  2. Self Adjusting Data Structures (self organizing lists, splay trees)
  3. Probabilistic Data Structures (randomized trees, treaps, skip lists, bloom filters)
  4. Spatial Data Structures (quadtrees, kd-trees, 2d range trees)
  5. Lowest Common Ancestor (LCA) and Range Minimum Query (RMQ) (srqt buckets, sparse tables, +/- 1 case, cartesian trees)
  6. (some more) 1D problems (fenwick trees, segment trees, lazy propagation)
  7. String Matching (naive, KMP, Rabin-Karp, Tries, Suffix Trees, Suffix Arrays)

1) Balanced Binary Search Trees

2) Self Adjusting Data Structures

3) Probabilistic Data Structures

4) Spatial Data Structures

5) Lowest Common Ancestor (LCA) and Range Minimum Query (RMQ)

6) (some more) 1D problems

7) String Matching