Efficient Implementation of Rank and Select Functions for Succinct Representation
Succinct representation is a space-efficient method to represent n discrete objects by O(n) bits. In order to access directly the ith object of succinctly represented data structures in constant time, two fundamental functions, rank and select are commonly used. However, little efforts were made on analyzing practical behaviors of these functions despite their importance for succinct representations.
In this paper we analyze the behavior of Clark’s algorithm which is the only one to support select in constant time using o(n)-bit space of extra space, and show that the performance of Clark’s algorithm gets worse as the number of 1’s in a bit-string becomes fewer and there exists a worst case in which a large amount of operations are needed. Then, we propose two algorithms that overcome the drawbacks of Clark’s. These algorithms take constant time forselect, and one uses o(n) bits for extra space and the other uses n + o(n) bits in the worst case. Experimental results show that our algorithms compute select faster than Clark’s.
Unable to display preview. Download preview PDF.