English

(Worst-Case) Optimal Adaptive Dynamic Bitvectors

Data Structures and Algorithms 2025-05-22 v4

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 Θ(logn/loglogn)\Theta(\log n/ \log\log n) on bitvectors holding nn 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)n+o(n) bits of space and, if there are qq queries per update, supports all the operations in O(log(n/q)/loglogn)O(\log(n/q)/\log\log n) amortized time. Further, we prove that this time is \new{worst-case} optimal in the cell probe model. We describe a large number of applications of our representation to other compact dynamic data structures.

Keywords

Cite

@article{arxiv.2405.15088,
  title  = {(Worst-Case) Optimal Adaptive Dynamic Bitvectors},
  author = {Gonzalo Navarro},
  journal= {arXiv preprint arXiv:2405.15088},
  year   = {2025}
}
R2 v1 2026-06-28T16:38:08.575Z