More Haste, Less Waste: Lowering the Redundancy in Fully Indexable Dictionaries
Abstract
We consider the problem of representing, in a compressed format, a bit-vector of bits with 1s, supporting the following operations, where : returns the number of occurrences of bit in the prefix ; returns the position of the th occurrence of bit in . Such a data structure is called \emph{fully indexable dictionary (FID)} [Raman et al.,2007], and is at least as powerful as predecessor data structures. Our focus is on space-efficient FIDs on the \textsc{ram} model with word size and constant time for all operations, so that the time cost is independent of the input size. Given the bitstring to be encoded, having length and containing ones, the minimal amount of information that needs to be stored is . The state of the art in building a FID for is given in [Patrascu,2008] using bits, to support the operations in time. Here, we propose a parametric data structure exhibiting a time/space trade-off such that, for any real constants , , and integer , it uses bits and performs all the operations in time . The improvement is twofold: our redundancy can be lowered parametrically and, fixing , we get a constant-time FID whose space is bits, for sufficiently large . This is a significant improvement compared to the previous bounds for the general case.
Keywords
Cite
@article{arxiv.0902.2648,
title = {More Haste, Less Waste: Lowering the Redundancy in Fully Indexable Dictionaries},
author = {Roberto Grossi and Alessio Orlandi and Rajeev Raman and S. Srinivasa Rao},
journal= {arXiv preprint arXiv:0902.2648},
year = {2009}
}