Skip to main content

Practical Dynamic Entropy-Compressed Bitvectors with Applications

  • Conference paper
  • First Online:
Experimental Algorithms (SEA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9685))

Included in the following conference series:

  • 1196 Accesses

Abstract

Compressed data structures provide the same functionality as their classical counterparts while using entropy-bounded space. While they have succeeded in a wide range of static structures, which do not undergo updates, they are less mature in the dynamic case, where the theory-versus-practice gap is wider. We implement compressed dynamic bitvectors B using \(|B|H_0(B)+o(|B|)\) or \(|B|H_0(B)(1+o(1))\) bits of space, where \(H_0\) is the zero-order empirical entropy, and supporting queries and updates in \(\mathcal {O}(w)\) time on a w-bit word machine. This is the first implementation that provably achieves compressed space and is also practical, operating within microseconds. Bitvectors are the basis of most compressed data structures; we explore applications to sequences and graphs.

Funded by Basal Funds FB0001 and with Fondecyt Grant 1-140796, Conicyt, Chile.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Measured with https://github.com/mpetri/mem_monitor.

  2. 2.

    A precise comparison is not possible since their results are not available. We use their plots as a reference.

References

  1. Arroyuelo, D., Cánovas, R., Navarro, G., Sadakane, K.: Succinct trees in practice. In: Proceedings of the 12th ALENEX, pp. 84–97 (2010)

    Google Scholar 

  2. Brisaboa, N., de Bernardo, G., Navarro, G.: Compressed dynamic binary relations. In: Proceedings of the 22nd DCC, pp. 52–61 (2012)

    Google Scholar 

  3. Clark, D.: Compact PAT Trees. Ph.D. thesis, Univ. Waterloo, Canada (1996)

    Google Scholar 

  4. Claude, F., Navarro, G.: Extended compact web graph representations. In: Elomaa, T., Mannila, H., Orponen, P. (eds.) Ukkonen Festschrift 2010. LNCS, vol. 6060, pp. 77–91. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. Claude, F., Navarro, G., Ordóñez, A.: The wavelet matrix: an efficient wavelet tree for large alphabets. Inf. Syst. 47, 15–32 (2015)

    Article  Google Scholar 

  6. Elias, P.: Universal codeword sets and representations of the integers. IEEE Trans. Inf. Theor. 21(2), 194–203 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  7. Ferrada, H., Navarro, G.: Improved range minimum queries. In: Proceedings of the 26th DCC, pp. 516–525 (2016)

    Google Scholar 

  8. Fredman, M., Saks, M.: The cell probe complexity of dynamic data structures. In: Proceedings of the 21st STOC, pp. 345–354 (1989)

    Google Scholar 

  9. Gerlang, W.: Dynamic FM-Index for a Collection of Texts with Application to Space-efficient Construction of the Compressed Suffix Array. Master’s thesis, Univ. Bielefeld, Germany (2007)

    Google Scholar 

  10. Gog, S., Beller, T., Moffat, A., Petri, M.: From theory to practice: plug and play with succinct data structures. In: Gudmundsson, J., Katajainen, J. (eds.) SEA 2014. LNCS, vol. 8504, pp. 326–337. Springer, Heidelberg (2014)

    Google Scholar 

  11. Grossi, R., Gupta, A., Vitter, J.S.: High-order entropy-compressed text indexes. In: Proceedings of the 14th SODA, pp. 841–850 (2003)

    Google Scholar 

  12. Jacobson, G.: Space-efficient static trees and graphs. In: Proceedings of the 30th FOCS, pp. 549–554 (1989)

    Google Scholar 

  13. Jansson, J., Sadakane, K., Sung, W.-K.: CRAM: Compressed Random Access Memory. In: Czumaj, A., Mehlhorn, K., Pitts, A., Wattenhofer, R. (eds.) ICALP 2012, Part I. LNCS, vol. 7391, pp. 510–521. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  14. Joannou, S., Raman, R.: Dynamizing succinct tree representations. In: Klasing, R. (ed.) SEA 2012. LNCS, vol. 7276, pp. 224–235. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  15. Kärkkäinen, J., Puglisi, S.J.: Fixed block compression boosting in FM-indexes. In: Grossi, R., Sebastiani, F., Silvestri, F. (eds.) SPIRE 2011. LNCS, vol. 7024, pp. 174–184. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  16. Klitzke, P., Nicholson, P.K.: A general framework for dynamic succinct and compressed data structures. In: Proceedings of the 18th ALENEX, pp. 160–173 (2016)

    Google Scholar 

  17. Mäkinen, V., Navarro, G.: Dynamic entropy-compressed sequences and full-text indexes. ACM Trans. Algorithms 4(3), 32–38 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  18. Munro, J.I.: An implicit data structure supporting insertion, deletion, and search in o(log2 n) time. J. Comput. Syst. Sci. 33(1), 66–74 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  19. Navarro, G.: Wavelet trees for all. J. Discrete Algorithms 25, 2–20 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  20. Navarro, G., Nekrich, Y.: Optimal dynamic sequence representations. SIAM J. Comput. 43(5), 1781–1806 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  21. Navarro, G., Sadakane, K.: Fully-Functional static and dynamic succinct trees. ACM Trans. Algorithms 10(3), 16 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  22. Okanohara, D.: Dynamic succinct vector library. https://code.google.com/archive/p/ds-vector/. Accessed 30 Jan 2016

  23. Raman, R., Raman, V., Rao, S.S.: Succinct dynamic data structures. In: Dehne, F., Sack, J.-R., Tamassia, R. (eds.) WADS 2001. LNCS, vol. 2125, p. 426. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  24. Raman, R., Raman, V., Satti, S.R.: Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets. ACM Trans. Algorithms 3(4), 43 (2007)

    Article  MathSciNet  Google Scholar 

  25. Salson, M.: Dynamic fm-index library. http://dfmi.sourceforge.net/. Accessed 30 Jan 2016

  26. Smirnov, V.: Memoria library. https://bitbucket.org/vsmirnov/memoria/. Accessed 30 Jan 2016

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joshimar Cordova .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Cordova, J., Navarro, G. (2016). Practical Dynamic Entropy-Compressed Bitvectors with Applications. In: Goldberg, A., Kulikov, A. (eds) Experimental Algorithms. SEA 2016. Lecture Notes in Computer Science(), vol 9685. Springer, Cham. https://doi.org/10.1007/978-3-319-38851-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-38851-9_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-38850-2

  • Online ISBN: 978-3-319-38851-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics