Rank-Select Indices Without Tears
Tim Baumann, Torben Hagerup

TL;DR
This paper introduces a new, easy-to-understand rank-select index for bit sequences that operates in constant time and is simple to construct, improving accessibility and efficiency over previous structures.
Contribution
The paper presents a novel rank-select index that is simple to derive, easy to implement, and can be built efficiently, while maintaining optimal query performance.
Findings
Occupies O(n log log n / log n) bits
Supports constant-time rank and select queries
Constructible in O(n / log n) time
Abstract
A rank-select index for a sequence of bits is a data structure that, if provided with an operation to access arbitrary consecutive bits of in constant time (thus is stored outside of the data structure), can compute for given and for given . We describe a new rank-select index that, like previous rank-select indices, occupies bits and executes and queries in constant time. Its derivation is intended to be particularly easy to follow and largely free of tedious low-level detail, its operations are given by straight-line code, and we show that it can be constructed in time.
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.
