Succinct Dynamic Rank/Select: Bypassing the Tree-Structure Bottleneck
Abstract
We show how to construct a dynamic ordered dictionary, supporting insert/delete/rank/select on a set of n elements from a universe of size U, that achieves the optimal amortized expected time complexity of O(1 + n / U), while achieving a nearly optimal space consumption of Un + n / 2( n)(1) + polylog\, U bits in the regime where U = poly(n). This resolves an open question by Pibiri and Venturini as to whether a redundancy (a.k.a. space overhead) of o(n) bits is possible, and is the first dynamic solution to bypass the so-called tree-structure bottleneck, in which the bits needed to encode some dynamic tree structure are themselves enough to force a redundancy of (n) bits. Our main technical building block is a dynamic balanced binary search tree, which we call the compressed tabulation-weighted treap, that itself achieves a surprising time/space tradeoff. The tree supports polylog\, n-time operations and requires a static lookup table of size poly(n) + polylog\, U -- but, in exchange for these, the tree is able to achieve a remarkable space guarantee. Its total space redundancy is O( U) bits. In fact, if the tree is given n and U for free, then the redundancy further drops to O(1) bits.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.