Skip to main content

A Framework for Dynamizing Succinct Data Structures

  • Conference paper

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

Abstract

We present a framework to dynamize succinct data structures, to encourage their use over non-succinct versions in a wide variety of important application areas. Our framework can dynamize most state-of-the-art succinct data structures for dictionaries, ordinal trees, labeled trees, and text collections. Of particular note is its direct application to XML indexing structures that answer subpath queries [2]. Our framework focuses on achieving information-theoretically optimal space along with near-optimal update/query bounds.

As the main part of our work, we consider the following problem central to text indexing: Given a text T over an alphabet Σ, construct a compressed data structure answering the queries char(i), rank s (i), and select s (i) for a symbol s ∈ Σ. Many data structures consider these queries for static text T [5,3,16,4]. We build on these results and give the best known query bounds for the dynamic version of this problem, supporting arbitrary insertions and deletions of symbols in T.

Specifically, with an amortized update time of O(n ε), any static succinct data structure D for T, taking t(n) time for queries, can be converted by our framework into a dynamic succinct data structure that supports rank s (i), select s (i), and char(i) queries in O(t(n) + loglogn) time, for any constant ε> 0. When |Σ| = polylog(n), we achieve O(1) query times. Our update/query bounds are near-optimal with respect to the lower bounds from [13].

Keywords

  • Label Tree
  • Dynamic Text
  • Text Indexing
  • Text Collection
  • 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.

Support was provided in part by the National Science Foundation through research grants CCF–0621457 and IIS–0415097.

This is a preview of subscription content, access via your institution.

Buying options

eBook
EUR   16.99
Price includes VAT (Finland)
  • ISBN: 978-3-540-73420-8
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
EUR   109.99
Price includes VAT (Finland)
  • ISBN: 978-3-540-73419-2
  • Dispatched in 3 to 5 business days
  • Exclusive offer for individuals only
  • Free shipping worldwide
    See shipping information.
  • Tax calculation will be finalised during checkout

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benoit, D., Demaine, E., Munro, I., Raman, R., Raman, V., Rao, S.: Representing trees of higher degree. Algorithmica 43(4), 275–292 (2005)

    CrossRef  MATH  MathSciNet  Google Scholar 

  2. Ferragina, P., Luccio, F., Manzini, G., Muthukrishnan, S.: Structuring labeled trees for optimal succinctness, and beyond. In: Proceedings of the IEEE Symposium on FOCS, pp. 184–196 (2005)

    Google Scholar 

  3. Ferragina, P., Manzini, G.: Indexing compressed texts. JACM 52(4), 552–581 (2005)

    CrossRef  MathSciNet  Google Scholar 

  4. Golynski, A., Munro, J.I., Rao, S.S.: Rank/select operations on large alphabets: a tool for text indexing. In: SODA, pp. 368–373 (2006)

    Google Scholar 

  5. Grossi, R., Gupta, A., Vitter, J.S.: High-order entropy-compressed text indexes. In: SODA (2003)

    Google Scholar 

  6. Grossi, R., Vitter, J.S.: Compressed suffix arrays and suffix trees with applications to text indexing and string matching. In: STOC, vol. 32 (2000)

    Google Scholar 

  7. Hagerup, T., Miltersen, P., Pagh, R.: Deterministic dictionaries. Journal of Algorithms 41(1), 353–363 (2001)

    CrossRef  MathSciNet  Google Scholar 

  8. Hon, W.K., Sadakane, K., Sung, W.K.: Succinct data structures for searchable partial sums. In: ISAAC, pp. 505–516 (2003)

    Google Scholar 

  9. Jacobson, G.: Succinct static data structures. Technical Report CMU-CS-89-112, Dept. of Computer Science, Carnegie-Mellon University (1989)

    Google Scholar 

  10. Navarro, G., Ferragina, P., Manzini, G., Mäkinen, V.: Succinct representation of sequences and full-text indexes. In: TALG, 2006 (to appear)

    Google Scholar 

  11. Navarro, G., Mäkinen, V.: Compressed full-text indexes. ACM Computing Surveys, 2006 (to appear)

    Google Scholar 

  12. Navarro, G., Mäkinen, V.: Dynamic entropy-compressed sequences and full-text indexes. In: CPM, pp. 306–317 (2006)

    Google Scholar 

  13. Patrascu, M., Demaine, E.: Logarithmic lower bounds in the cell-probe model. SIAM Journal on Computing 35(4), 932–963 (2006)

    CrossRef  MATH  MathSciNet  Google Scholar 

  14. Raman, R., Raman, V., Rao, S.: Succinct dynamic data structures. In: WADS, pp. 426–437 (2001)

    Google Scholar 

  15. Raman, R., Raman, V., Rao, S.S.: Succinct indexable dictionaries with applications to encoding k-ary trees and multisets. In: SODA, pp. 233–242 (2002)

    Google Scholar 

  16. Sadakane, K., Grossi, R.: Squeezing succinct data structures into entropy bounds. In: SODA, pp. 1230–1239 (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gupta, A., Hon, WK., Shah, R., Vitter, J.S. (2007). A Framework for Dynamizing Succinct Data Structures. In: Arge, L., Cachin, C., Jurdziński, T., Tarlecki, A. (eds) Automata, Languages and Programming. ICALP 2007. Lecture Notes in Computer Science, vol 4596. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73420-8_46

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73420-8_46

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73419-2

  • Online ISBN: 978-3-540-73420-8

  • eBook Packages: Computer ScienceComputer Science (R0)