Practical Entropy-Compressed Rank/Select Dictionary
<|reference_start|>Practical Entropy-Compressed Rank/Select Dictionary: Rank/Select dictionaries are data structures for an ordered set $S \subset \{0,1,...,n-1\}$ to compute $\rank(x,S)$ (the number of elements in $S$ which are no greater than $x$), and $\select(i,S)$ (the $i$-th smallest element in $S$), which are the fundamental components of \emph{succinct data structures} of strings, trees, graphs, etc. In those data structures, however, only asymptotic behavior has been considered and their performance for real data is not satisfactory. In this paper, we propose novel four Rank/Select dictionaries, esp, recrank, vcode and sdarray, each of which is small if the number of elements in $S$ is small, and indeed close to $nH_0(S)$ ($H_0(S) \leq 1$ is the zero-th order \textit{empirical entropy} of $S$) in practice, and its query time is superior to the previous ones. Experimental results reveal the characteristics of our data structures and also show that these data structures are superior to existing implementations in both size and query time.<|reference_end|>
@article{okanohara2006practical,
    title={Practical Entropy-Compressed Rank/Select Dictionary},
    author={Daisuke Okanohara, Kunihiko Sadakane},
    journal={arXiv preprint arXiv:cs/0610001},
    year={2006},
    archivePrefix={arXiv},
    eprint={cs/0610001},
    primaryClass={cs.DS}
}