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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Measured with https://github.com/mpetri/mem_monitor.
- 2.
A precise comparison is not possible since their results are not available. We use their plots as a reference.
References
Arroyuelo, D., Cánovas, R., Navarro, G., Sadakane, K.: Succinct trees in practice. In: Proceedings of the 12th ALENEX, pp. 84–97 (2010)
Brisaboa, N., de Bernardo, G., Navarro, G.: Compressed dynamic binary relations. In: Proceedings of the 22nd DCC, pp. 52–61 (2012)
Clark, D.: Compact PAT Trees. Ph.D. thesis, Univ. Waterloo, Canada (1996)
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)
Claude, F., Navarro, G., Ordóñez, A.: The wavelet matrix: an efficient wavelet tree for large alphabets. Inf. Syst. 47, 15–32 (2015)
Elias, P.: Universal codeword sets and representations of the integers. IEEE Trans. Inf. Theor. 21(2), 194–203 (1975)
Ferrada, H., Navarro, G.: Improved range minimum queries. In: Proceedings of the 26th DCC, pp. 516–525 (2016)
Fredman, M., Saks, M.: The cell probe complexity of dynamic data structures. In: Proceedings of the 21st STOC, pp. 345–354 (1989)
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)
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)
Grossi, R., Gupta, A., Vitter, J.S.: High-order entropy-compressed text indexes. In: Proceedings of the 14th SODA, pp. 841–850 (2003)
Jacobson, G.: Space-efficient static trees and graphs. In: Proceedings of the 30th FOCS, pp. 549–554 (1989)
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)
Joannou, S., Raman, R.: Dynamizing succinct tree representations. In: Klasing, R. (ed.) SEA 2012. LNCS, vol. 7276, pp. 224–235. Springer, Heidelberg (2012)
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)
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)
Mäkinen, V., Navarro, G.: Dynamic entropy-compressed sequences and full-text indexes. ACM Trans. Algorithms 4(3), 32–38 (2008)
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)
Navarro, G.: Wavelet trees for all. J. Discrete Algorithms 25, 2–20 (2014)
Navarro, G., Nekrich, Y.: Optimal dynamic sequence representations. SIAM J. Comput. 43(5), 1781–1806 (2014)
Navarro, G., Sadakane, K.: Fully-Functional static and dynamic succinct trees. ACM Trans. Algorithms 10(3), 16 (2014)
Okanohara, D.: Dynamic succinct vector library. https://code.google.com/archive/p/ds-vector/. Accessed 30 Jan 2016
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)
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)
Salson, M.: Dynamic fm-index library. http://dfmi.sourceforge.net/. Accessed 30 Jan 2016
Smirnov, V.: Memoria library. https://bitbucket.org/vsmirnov/memoria/. Accessed 30 Jan 2016
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)