Advertisement

Practical Dynamic Entropy-Compressed Bitvectors with Applications

  • Joshimar CordovaEmail author
  • Gonzalo Navarro
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9685)

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.

Keywords

Query Time Adjacency List Head Cell Memory Area Wavelet Tree 
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.

References

  1. 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. 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. 3.
    Clark, D.: Compact PAT Trees. Ph.D. thesis, Univ. Waterloo, Canada (1996)Google Scholar
  4. 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)CrossRefGoogle Scholar
  5. 5.
    Claude, F., Navarro, G., Ordóñez, A.: The wavelet matrix: an efficient wavelet tree for large alphabets. Inf. Syst. 47, 15–32 (2015)CrossRefGoogle Scholar
  6. 6.
    Elias, P.: Universal codeword sets and representations of the integers. IEEE Trans. Inf. Theor. 21(2), 194–203 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Ferrada, H., Navarro, G.: Improved range minimum queries. In: Proceedings of the 26th DCC, pp. 516–525 (2016)Google Scholar
  8. 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. 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. 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. 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. 12.
    Jacobson, G.: Space-efficient static trees and graphs. In: Proceedings of the 30th FOCS, pp. 549–554 (1989)Google Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Joannou, S., Raman, R.: Dynamizing succinct tree representations. In: Klasing, R. (ed.) SEA 2012. LNCS, vol. 7276, pp. 224–235. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  15. 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)CrossRefGoogle Scholar
  16. 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. 17.
    Mäkinen, V., Navarro, G.: Dynamic entropy-compressed sequences and full-text indexes. ACM Trans. Algorithms 4(3), 32–38 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Navarro, G.: Wavelet trees for all. J. Discrete Algorithms 25, 2–20 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Navarro, G., Nekrich, Y.: Optimal dynamic sequence representations. SIAM J. Comput. 43(5), 1781–1806 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Navarro, G., Sadakane, K.: Fully-Functional static and dynamic succinct trees. ACM Trans. Algorithms 10(3), 16 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Okanohara, D.: Dynamic succinct vector library. https://code.google.com/archive/p/ds-vector/. Accessed 30 Jan 2016
  23. 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)CrossRefGoogle Scholar
  24. 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)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Salson, M.: Dynamic fm-index library. http://dfmi.sourceforge.net/. Accessed 30 Jan 2016
  26. 26.
    Smirnov, V.: Memoria library. https://bitbucket.org/vsmirnov/memoria/. Accessed 30 Jan 2016

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Department of Computer Science, CeBiB — Center of Biotechnology and BioengineeringUniversity of ChileSantiagoChile

Personalised recommendations