Bitvectors with runs and the successor/predecessor problem

02/26/2020
by   Adrián Gómez-Brandón, et al.
0

The successor and predecessor problem consists of obtaining the closest value in a set of integers, greater/smaller than a given value. This problem has interesting applications, like the intersection of inverted lists. It can be easily modeled by using a bitvector of size n and its operations rank and select. However, there is a practical approach, which keeps the best theoretical bounds, and allows to solve successor and predecessor more efficiently. Based on that technique, we designed a novel compact data structure for bitvectors with k runs that achieves access, rank, and successor/predecessor in O(1) time by consuming space O(√(kn)) bits. In practice, it obtains a compression ratio of 0.04%-26.33% when the runs are larger than 100, and becomes the fastest technique, which considers compressibility, in successor/predecessor queries. Besides, we present a recursive variant of our structure, which tends to O(k) bits and takes O(logn/k) time.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/08/2017

Run Compressed Rank/Select for Large Alphabets

Given a string of length n that is composed of r runs of letters from th...
research
06/02/2022

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

Bit vectors are fundamental building blocks of many succinct data struct...
research
02/18/2023

Faster Wavelet Trees with Quad Vectors

Given a text, rank and select queries return the number of occurrences o...
research
08/10/2018

The effective entropy of next/previous larger/smaller value queries

We study the problem of storing the minimum number of bits required to a...
research
11/05/2018

Optimal Succinct Rank Data Structure via Approximate Nonnegative Tensor Decomposition

Given an n-bit array A, the succinct rank data structure problem asks to...
research
08/05/2021

Space and Time Bounded Multiversion Garbage Collection

We present a general technique for garbage collecting old versions for m...

Please sign up or login with your details

Forgot password? Click here to reset