🤖 AI Summary
This paper addresses efficient rank/select queries and bit-flip updates on dynamic bit vectors under sparse update scenarios. Methodologically, it introduces the first adaptive data structure achieving worst-case optimal time complexity, leveraging a hierarchical indexing scheme, adaptive block partitioning, and compact metadata encoding—while occupying only $n + o(n)$ bits of space. Its key contributions are threefold: (i) it is the first to achieve worst-case $O(log(n/q)/log log n)$ query/update time, where $q$ denotes the query-to-update ratio; (ii) it proves theoretical optimality of this bound in the cell probe model; and (iii) it supports constant-time static operations and sub-logarithmic dynamic operations—significantly improving upon prior approaches. The structure simultaneously supports both rank and select queries and bit-level updates, offering a unified, asymptotically optimal solution for dynamic succinct bit vectors in sparse-update settings.
📝 Abstract
While operations {em rank} and {em select} on static bitvectors can be supported in constant time, lower bounds show that supporting updates raises the cost per operation to $Theta(log n/ loglog n)$ on bitvectors holding $n$ bits. This is a shame in scenarios where updates are possible but uncommon. We develop a representation of bitvectors that we call adaptive dynamic bitvector, which uses the asymptotically optimal $n+o(n)$ bits of space and, if there are $q$ queries per update, supports all the operations in $O(log(n/q)/loglog n)$ amortized time. Further, we prove that this time is
ew{worst-case} optimal in the cell probe model. We describe a large number of applications of our representation to other compact dynamic data structures.