Advanced Data Structures

Advanced Data Structures

Follow Advanced Data Structures
Share on
Copy link to clipboard

Data structures play a central role in modern computer science. You interact with data structures even more often than with algorithms (think Google, your mail server, and even your network routers). In addition, data structures are essential building blocks in obtaining efficient algorithms. This c…

Erik Demaine


    • Jun 28, 2017 LATEST EPISODE
    • infrequent NEW EPISODES
    • 1h 21m AVG DURATION
    • 22 EPISODES


    Search for episodes from Advanced Data Structures with a specific topic:

    Latest episodes from Advanced Data Structures

    Session 22: History of Memory Models

    Play Episode Listen Later Jun 28, 2017 59:23


    History of memory models: idealized 2-level, red-blue pebble game, external memory, HMM, BT, (U)MH, cache oblivious

    Session 21: Dynamic Connectivity Lower Bound

    Play Episode Listen Later Jun 28, 2017 82:18


    Dynamic graphs: Ω(lg n) lower bound for dynamic connectivity

    Session 20: Dynamic Graphs II

    Play Episode Listen Later Jun 28, 2017 84:46


    Dynamic graphs: Euler tour trees, decremental connectivity in trees in O(1), fully dynamic connectivity in O(lg2 n), survey

    Session 19: Dynamic Graphs I

    Play Episode Listen Later Jun 28, 2017 74:44


    Dynamic graphs: link-cut trees, heavy-light decomposition

    Session 18: Succinct Structures II

    Play Episode Listen Later Jun 28, 2017 84:05


    Succinct: compact suffix arrays and trees

    Session 17: Succinct Structures I

    Play Episode Listen Later Jun 28, 2017 80:11


    Succinct: rank, select, tries

    Session 16: Strings

    Play Episode Listen Later Jun 28, 2017 84:29


    Strings: suffix tree, suffix array, linear-time construction for large alphabets, suffix tray, document retrieval

    Session 14: Sorting in Linear Time

    Play Episode Listen Later Jun 28, 2017 84:03


    Integer: sorting in linear time for w = O(lg2+ε n), priority queues

    Session 15: Static Trees

    Play Episode Listen Later Jun 28, 2017 83:00


    Static trees: least common ancestor, range minimum queries, level ancestor

    Session 12: Fusion Trees

    Play Episode Listen Later Jun 28, 2017 84:08


    Fusion trees: sketching, parallel comparison, most significant set bit

    Session 11: Integer Models

    Play Episode Listen Later Jun 28, 2017 81:14


    Integer: models, predecessor problem, van Emde Boas, x-fast and y-fast trees, indirection

    Session 13: Integer Lower Bounds

    Play Episode Listen Later Jun 28, 2017 82:10


    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.

    Session 10: Dictionaries

    Play Episode Listen Later Jun 28, 2017 83:27


    Dictionaries: universal, k-wise independent, simple tabulation hashing; chaining, dynamic perfect hashing, linear probing, cuckoo hashing

    Session 9: Cache-Oblivious Structures II

    Play Episode Listen Later Jun 28, 2017 84:38


    Memory hierarchy: distribution sweeping via lazy funnelsort; cache-oblivious orthogonal 2D range searching: batched and online

    Session 8: Cache-Oblivious Structures I

    Play Episode Listen Later Jun 28, 2017 87:21


    Memory hierarchy: ordered-file maintenance, list labeling, order queries, cache-oblivious priority queues

    Session 7: Memory Hierarchy Models

    Play Episode Listen Later Jun 28, 2017 82:54


    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.

    Session 6: Dynamic Optimality II

    Play Episode Listen Later Jun 28, 2017 83:31


    Dynamic optimality: independent rectangle, Wilber, and Signed Greedy lower bounds; key-independent optimality; O(lg lg n)-competitive Tango trees

    Session 5: Dynamic Optimality I

    Play Episode Listen Later Jun 28, 2017 82:44


    Dynamic optimality: binary search trees, analytic bounds, splay trees, geometric view, greedy algorithm

    Session 4: Geometric Structures II

    Play Episode Listen Later Jun 28, 2017 82:09


    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.

    Session 3: Geometric Structures I

    Play Episode Listen Later Jun 28, 2017 79:35


    Point location and range searching: persistence, retroactivity, dynamization of augmentation through weight balance, and fractional cascading.

    Session 2: Retroactive Data Structures

    Play Episode Listen Later Jun 28, 2017 78:39


    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.

    Session 1: Persistent Data Structures

    Play Episode Listen Later Jun 28, 2017 83:43


    "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”).

    Claim Advanced Data Structures

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel