English

Succinct Dynamic Rank/Select: Bypassing the Tree-Structure Bottleneck

Data Structures and Algorithms 2025-10-23 v1

Abstract

We show how to construct a dynamic ordered dictionary, supporting insert/delete/rank/select on a set of nn elements from a universe of size UU, that achieves the optimal amortized expected time complexity of O(1+logn/loglogU)O(1 + \log n / \log \log U), while achieving a nearly optimal space consumption of log(Un)+n/2(logn)Ω(1)+polylogU\log \binom{U}{n} + n / 2^{(\log n)^{\Omega(1)}} + \text{polylog}\, U bits in the regime where U=poly(n)U = \text{poly}(n). This resolves an open question by Pibiri and Venturini as to whether a redundancy (a.k.a. space overhead) of o(n)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)\widetilde{\Omega}(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 polylogn\text{polylog}\, n-time operations and requires a static lookup table of size poly(n)+polylogU\text{poly}(n) + \text{polylog}\, U -- but, in exchange for these, the tree is able to achieve a remarkable space guarantee. Its total space redundancy is O(logU)O(\log U) bits. In fact, if the tree is given nn and UU for free, then the redundancy further drops to O(1)O(1) bits.

Keywords

Cite

@article{arxiv.2510.19175,
  title  = {Succinct Dynamic Rank/Select: Bypassing the Tree-Structure Bottleneck},
  author = {William Kuszmaul and Jingxun Liang and Renfei Zhou},
  journal= {arXiv preprint arXiv:2510.19175},
  year   = {2025}
}

Comments

47 pages, 3 figures, in SODA 2026

R2 v1 2026-07-01T06:58:56.755Z