(Worst-Case) Optimal Adaptive Dynamic Bitvectors
Gonzalo Navarro

TL;DR
This paper introduces an adaptive dynamic bitvector data structure that supports efficient updates and queries with optimal worst-case time complexity, improving over previous static and dynamic solutions.
Contribution
It presents the first adaptive dynamic bitvector with optimal space and worst-case time bounds, bridging the gap between static and dynamic bitvector operations.
Findings
Supports all operations in O(log(n/q))/loglog n) amortized time
Uses n+o(n) bits of space, optimal for bitvectors
Proves worst-case optimality in the cell probe model
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 on bitvectors holding 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 bits of space and, if there are queries per update, supports all the operations in 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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvancements in Semiconductor Devices and Circuit Design · Advanced Memory and Neural Computing · Low-power high-performance VLSI design
