Engineering Compact Data Structures for Rank and Select Queries on Bit Vectors
Florian Kurpicz

TL;DR
This paper introduces an improved compact data structure for rank and select queries on bit vectors, achieving faster query times with similar space overhead compared to existing solutions like cs-poppy.
Contribution
The authors develop a new rank and select data structure that enhances query speed while maintaining minimal additional space, outperforming prior methods such as cs-poppy.
Findings
Rank query speed improved by up to 8%
Select query speed improved by up to 16.5%
Space overhead remains approximately 3.51%
Abstract
Bit vectors are fundamental building blocks of many succinct data structures. They can be used to represent graphs, are an important part of many text indices in the form of the wavelet tree, and can be used to encode ordered sequences of integers as Elias-Fano codes. To do so, two queries have to be answered: namely rank and select queries. Given a position in the bit vector, a rank query returns the number of 1-bits before that position. A select query, given a parameter , returns the position of the -th 1-bit. On a length-n bit vector, both queries can be answered in time and require bits of additional space. In practice, the smallest (uncompressed) rank and select data structure cs-poppy has a space overhead of 3.51% [Zhou et al., SEA 13]. In this paper, we present an improved rank and select data structure that has the same space overhead but can…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Error Correcting Code Techniques · Coding theory and cryptography
