LEC # | TOPICS | KEY DATES |
---|---|---|
1 | Dynamic optimality: binary search trees, analytic bounds, splay trees, geometric view, greedy algorithm | |
2 | Dynamic optimality: independent rectangle, Wilber, and Signed Greedy lower bounds; key-independent optimality; O(lg lg n)-competitive Tango trees | |
3 | Geometric data structures: orthogonal range queries, range trees, fractional cascading | |
4 | Geometric data structures: stabbing queries, interval trees, segment trees, priority search trees, windowing | Assignment 1 due |
5 | Geometric data structures: kinetic data structures and ray shooting (1) | Assignment 2 due |
6 | Geometric data structures: ray shooting (2), partition trees | |
7 | Strings: suffix tree, suffix array, document retrieval | Assignment 3 due |
8 | Strings: level ancestor, static LCA (part 1) | |
9 |
Strings: static LCA (part 2) Integers: van Emde Boas, y-fast trees | Assignment 4 due |
10 | Integers: fusion trees | |
11 | Integers: predecessor lower bound via round elimination | Assignment 5 due |
12 | Integers: sorting in linear time for w = O(lg2+εn), priority queues | |
13 | Integers: tree decompositions, marked ancestor upper bound, decremental connectivity in trees | Assignment 6 due |
14 | Dictionaries: FKS and cuckoo hashing | Project proposal due |
15 | Dictionaries: deterministic dictionaries | Assignment 7 due |
16 | Dynamic graphs: dynamic trees (link-cut trees) | |
17 | Dynamic graphs: overview, Euler tour trees, dynamic connectivity in O(lg2 n) | Assignment 8 due |
18 | Dynamic graphs: Ω(lg n) lower bound for dynamic connectivity | |
19 | Temporal data structures: persistence, retroactivity | Assignment 9 due |
20 | External memory / cache-oblivious: models, B-trees | |
21 | External memory / cache-oblivious: ordered-file maintenance, list labeling, order queries, priority queues | |
22 | Succinct data structures: rank, select, tries | |
23 | Succinct data structures: compact suffix arrays and trees | |
24-26 | Student presentations | Project paper due |