Fast, Small, Simple Rank/Select on Bitmaps

  • Gonzalo Navarro
  • Eliana Providel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7276)

Abstract

Rank and select queries on bitmaps are fundamental for the construction of a variety of compact data structures. Both can, in theory, be answered in constant time by spending o(n) extra bits on top of the original bitmap, of length n, or of a compressed version of it. However, while the solution for rank is indeed simple and practical, a similar result for select has been elusive, and practical compact data structure implementations avoid its use whenever possible. In addition, the overhead of the o(n) extra bits is in many cases very significant. In this paper we bridge the gap between theory and practice by presenting two structures, one using the bitmap in plain form and another using a compressed form, that are simple to implement and combine much lower space overheads than previous work with excellent time performance for rank and select queries. In particular, our structure for plain bitmaps is far smaller and faster for select than any previous structure, while competitive for rank with the best previous structures of similar size.

Keywords

Block Size Extra Space Sparse Array Space Overhead Rank Query 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arroyuelo, D., Cánovas, R., Navarro, G., Sadakane, K.: Succinct trees in practice. In: Proc. 11th ALENEX, pp. 84–97 (2010)Google Scholar
  2. 2.
    Clark, D.: Compact Pat Trees. PhD thesis, University of Waterloo, Canada (1996)Google Scholar
  3. 3.
    Claude, F., Navarro, G.: Practical Rank/Select Queries over Arbitrary Sequences. In: Amir, A., Turpin, A., Moffat, A. (eds.) SPIRE 2008. LNCS, vol. 5280, pp. 176–187. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Ferragina, P., Manzini, G.: Indexing compressed texts. Journal of the ACM 52(4), 552–581 (2005)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Golynski, A.: Optimal Lower Bounds for Rank and Select Indexes. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. LNCS, vol. 4051, pp. 370–381. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Golynski, A., Munro, I., Rao, S.: Rank/select operations on large alphabets: a tool for text indexing. In: Proc. 17th SODA, pp. 368–373 (2006)Google Scholar
  7. 7.
    González, R., Grabowski, S., Mäkinen, V., Navarro, G.: Practical implementation of rank and select queries. In: Proc. 4th WEA, pp. 27–38 (2005) (posters)Google Scholar
  8. 8.
    Grossi, R., Gupta, A., Vitter, J.: High-order entropy-compressed text indexes. In: Proc. 14th SODA, pp. 841–850 (2003)Google Scholar
  9. 9.
    Jacobson, G.: Space-efficient static trees and graphs. In: Proc. 30th FOCS, pp. 549–554 (1989)Google Scholar
  10. 10.
    Munro, I.: Tables. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 37–42. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  11. 11.
    Munro, I., Raman, V.: Succinct representation of balanced parentheses, static trees and planar graphs. In: Proc. 38th FOCS, pp. 118–126 (1997)Google Scholar
  12. 12.
    Okanohara, D., Sadakane, K.: Practical entropy-compressed rank/select dictionary. In: Proc. 9th ALENEX (2007)Google Scholar
  13. 13.
    Pagh, R.: Low Redundancy in Static Dictionaries with O(1) Worst Case Lookup Time. In: Wiedermann, J., Van Emde Boas, P., Nielsen, M. (eds.) ICALP 1999. LNCS, vol. 1644, pp. 595–604. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  14. 14.
    Patrascu, M.: Succincter. In: Proc. 49th FOCS, pp. 305–313 (2008)Google Scholar
  15. 15.
    Raman, R., Raman, V., Rao, S.: Succinct indexable dictionaries with applications to encoding k-ary trees and multisets. In: Proc. 13th SODA, pp. 233–242 (2002)Google Scholar
  16. 16.
    Vigna, S.: Broadword Implementation of Rank/Select Queries. In: McGeoch, C.C. (ed.) WEA 2008. LNCS, vol. 5038, pp. 154–168. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Gonzalo Navarro
    • 1
  • Eliana Providel
    • 1
    • 2
  1. 1.Department of Computer ScienceUniversity of ChileChile
  2. 2.Escuela de Ingeniería Civil Informática, Facultad de IngenieríaUniversidad de ValparaísoValparaísoChile

Personalised recommendations