Advanced Data Structures

Video Lectures

Displaying all 22 video lectures.
Lecture 1
Persistent Data Structures
Play Video
Persistent Data Structures
"Persistence" - remembering all past versions of a data structure ("partial persistence"), being able to modify them - forking off new ones ("full persistence"), and merging different versions into one ("confluent persistence").
Lecture 2
Retroactive Data Structures
Play Video
Retroactive Data Structures
Partial and full retroactivity let us to alter and manipulate the order of operations, and investigate the results. A third type, "non-oblivious", puts queries on the timeline as well, and reports the first query whose answer changed.
Lecture 3
Geometric Structures I
Play Video
Geometric Structures I
Point location and range searching: persistence, retroactivity, dynamization of augmentation through weight balance, and fractional cascading.
Lecture 4
Geometric Structures II
Play Video
Geometric Structures II
Fractional cascading in 3D orthogonal range searching in O(log n) time. Moving data, e.g., where 2D points move at known velocity and acceleration: kinetic predecessor and kinetic priority queues.
Lecture 5
Dynamic Optimality I
Play Video
Dynamic Optimality I
Dynamic optimality: binary search trees, analytic bounds, splay trees, geometric view, greedy algorithm
Lecture 6
Dynamic Optimality II
Play Video
Dynamic Optimality II
Dynamic optimality: independent rectangle, Wilber, and Signed Greedy lower bounds; key-independent optimality; O(lg lg n)-competitive Tango trees
Lecture 7
Memory Hierarchy Models
Play Video
Memory Hierarchy Models
Cache-efficient structures. B-trees are good at data transferred in blocks between cache and main memory, main memory and disk, and so on, achieving O(logB N) insert/delete/predecessor/successor for N items and memory block transfers of size B.
Lecture 8
Cache-Oblivious Structures I
Play Video
Cache-Oblivious Structures I
Memory hierarchy: ordered-file maintenance, list labeling, order queries, cache-oblivious priority queues
Lecture 9
Cache-Oblivious Structures II
Play Video
Cache-Oblivious Structures II
Memory hierarchy: distribution sweeping via lazy funnelsort; cache-oblivious orthogonal 2D range searching: batched and online
Lecture 10
Dictionaries
Play Video
Dictionaries
Dictionaries: universal, k-wise independent, simple tabulation hashing; chaining, dynamic perfect hashing, linear probing, cuckoo hashing
Lecture 11
Integer Models
Play Video
Integer Models
Integer: models, predecessor problem, van Emde Boas, x-fast and y-fast trees, indirection
Lecture 12
Fusion Trees
Play Video
Fusion Trees
Fusion trees: sketching, parallel comparison, most significant set bit
Lecture 13
Integer Lower Bounds
Play Video
Integer Lower Bounds
Integer data structure lower bounds. In particular, we'll prove that the min of van Emde Boas and fusion trees is an optimal (static) predecessor data structure up to a log log factor, assuming polynomial space.
Lecture 14
Sorting in Linear Time
Play Video
Sorting in Linear Time
Integer: sorting in linear time for w = O(lg2+ëµ n), priority queues
Lecture 15
Static Trees
Play Video
Static Trees
Static trees: least common ancestor, range minimum queries, level ancestor
Lecture 16
Strings
Play Video
Strings
Strings: suffix tree, suffix array, linear-time construction for large alphabets, suffix tray, document retrieval
Lecture 17
Succinct Structures I
Play Video
Succinct Structures I
Succinct: rank, select, tries
Lecture 18
Succinct Structures II
Play Video
Succinct Structures II
Succinct: compact suffix arrays and trees
Lecture 19
Dynamic Graphs I
Play Video
Dynamic Graphs I
Dynamic graphs: link-cut trees, heavy-light decomposition
Lecture 20
Dynamic Graphs II
Play Video
Dynamic Graphs II
Dynamic graphs: Euler tour trees, decremental connectivity in trees in O(1), fully dynamic connectivity in O(lg2 n), survey
Lecture 21
Dynamic Connectivity Lower Bound
Play Video
Dynamic Connectivity Lower Bound
Dynamic graphs: ë©(lg n) lower bound for dynamic connectivity
Lecture 22
History of Memory Models
Play Video
History of Memory Models
History of memory models: idealized 2-level, red-blue pebble game, external memory, HMM, BT, (U)MH, cache oblivious