paper

Optimal Indexes for Sparse Bit Vectors

arXiv:1108.2157

Abstract

We consider the problem of supporting Rank() and Select() operations on a bit vector of length m with n 1 bits. The problem is considered in the succinct index model, where the bit vector is stored in "read-only" memory and an additional data structure, called the index, is created during pre-processing to help answer the above queries. We give asymptotically optimal density-sensitive trade-offs, involving both m and n, that relate the size of the index to the number of accesses to the bit vector (and processing time) needed to answer the above queries. The results are particularly interesting for the case where n = o(m).

Some of these results were published in preliminary form in the proceedings of SWAT 2008. There are new upper bounds not in the SWAT version, however