Fast Computation of Rank and Select Functions for Succinct Representation

Succinct representation is a space-efficient method to represent n discrete objects using space close to the information-theoretic lower bound. In order to directly access the ith object of succinctly represented data structures in constant time, two fundamental functions, rank and select, are commonly used. In this paper we propose two implementations supporting rank and select in constant time for non-compressed bit strings. One uses $O(n \\log \\log n / \\sqrt{\\log n})$bits of extra space and the other uses $n+O(n \\log \\log n / \\log n)$bits of extra space in the worst case. The former is rather a theoretical algorithm and the latter is a practical algorithm which works faster and uses less space in practice.

[1]  Rajeev Raman,et al.  Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets , 2007, ACM Trans. Algorithms.

[2]  Paolo Ferragina,et al.  Indexing compressed text , 2005, JACM.

[3]  J. Ian Munro,et al.  Succinct Representation of Balanced Parentheses and Static Trees , 2002, SIAM J. Comput..

[4]  John L. Smith Tables , 1969, Neuromuscular Disorders.

[5]  C. SIAMJ. LOW REDUNDANCY IN STATIC DICTIONARIES WITH CONSTANT QUERY TIME , 2001 .

[6]  Kunihiko Sadakane,et al.  Practical Entropy-Compressed Rank/Select Dictionary , 2006, ALENEX.

[7]  Avi Wigderson,et al.  Succinct Representations of Graphs , 1984, Inf. Control..

[8]  S. Srinivasa Rao,et al.  Succinct Representations of Functions , 2004, ICALP.

[9]  Rajeev Raman,et al.  Succinct Dynamic Dictionaries and Trees , 2003, ICALP.

[10]  Peter Bro Miltersen Lower bounds on the size of selection and rank indexes , 2005, SODA '05.

[11]  Rajeev Raman,et al.  Succinct Representations of Permutations , 2003, ICALP.

[12]  Guy Jacobson,et al.  Space-efficient static trees and graphs , 1989, 30th Annual Symposium on Foundations of Computer Science.

[13]  Kunihiko Sadakane,et al.  Succinct representations of lcp information and improvements in the compressed suffix arrays , 2002, SODA '02.

[14]  S. Srinivasa Rao,et al.  Space Efficient Suffix Trees , 1998, J. Algorithms.

[15]  David Richard Clark,et al.  Compact pat trees , 1998 .

[16]  Roberto Grossi,et al.  Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching , 2005, SIAM J. Comput..

[17]  Guy Joseph Jacobson,et al.  Succinct static data structures , 1988 .

[18]  R. González,et al.  PRACTICAL IMPLEMENTATION OF RANK AND SELECT QUERIES , 2005 .