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