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

06/02/2022
by   Florian Kurpicz, et al.
0

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 j, returns the position of the j-th 1-bit. On a length-n bit vector, both queries can be answered in O(1) time and require o(n) bits of additional space. In practice, the smallest (uncompressed) rank and select data structure cs-poppy has a space overhead of ≈ 3.51 SEA 13]. In this paper, we present an improved rank and select data structure that has the same space overhead but can answer queries up to 8 16.5

READ FULL TEXT

page 1

page 3

page 5

page 6

page 9

page 13

page 15

research
02/18/2023

Faster Wavelet Trees with Quad Vectors

Given a text, rank and select queries return the number of occurrences o...
research
04/04/2019

Proving tree algorithms for succinct data structures

Succinct data structures give space-efficient representations of large a...
research
09/27/2020

Rank/Select Queries over Mutable Bitmaps

The problem of answering rank/select queries over a bitmap is of utmost ...
research
02/26/2020

Bitvectors with runs and the successor/predecessor problem

The successor and predecessor problem consists of obtaining the closest ...
research
02/17/2020

Sorting and Ranking of Self-Delimiting Numbers with Applications to Tree Isomorphism

Assume that an N-bit sequence S of k self-delimiting numbers is given as...
research
08/15/2019

"LOADS of Space": Local Order Agnosticism and Bit Flip Efficient Data Structure Codes

Algorithms, data structures, coding techniques, and other methods that r...
research
05/23/2023

Engineering Rank/Select Data Structures for Big-Alphabet Strings

Big-alphabet strings are common in several scenarios such as information...

Please sign up or login with your details

Forgot password? Click here to reset