An(other) Entropy-Bounded Compressed Suffix Tree

  • Johannes Fischer
  • Veli Mäkinen
  • Gonzalo Navarro
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5029)

Abstract

Suffix trees are among the most important data structures in stringology, with myriads of applications. Their main problem is space usage, which has triggered much research striving for compressed representations that are still functional. We present a novel compressed suffix tree. Compared to the existing ones, ours is the first achieving at the same time sublogarithmic complexity for the operations, and space usage which goes to zero as the entropy of the text does. Our development contains several novel ideas, such as compressing the longest common prefix information, and totally getting rid of the suffix tree topology, expressing all the suffix tree operations using range minimum queries and a new primitive called next/previous smaller value in a sequence.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abouelhoda, M., Kurtz, S., Ohlebusch, E.: Replacing suffix trees with enhanced suffix arrays. J. Discrete Algorithms 2(1), 53–86 (2004)CrossRefMathSciNetMATHGoogle Scholar
  2. 2.
    Apostolico, A.: The myriad virtues of subword trees. In: Combinatorial Algorithms on Words. NATO ISI Series, pp. 85–96. Springer, Heidelberg (1985)Google Scholar
  3. 3.
    Berkman, O., Schieber, B., Vishkin, U.: Optimal doubly logarithmic parallel algorithms based on finding all nearest smaller values. J. Algorithms 14(3), 344–370 (1993)CrossRefMathSciNetMATHGoogle Scholar
  4. 4.
    Cole, R., Kopelowitz, T., Lewenstein, M.: Suffix trays and suffix trists: structures for faster text indexing. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. LNCS, vol. 4051, pp. 358–369. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Delpratt, O., Rahman, N., Raman, R.: Engineering the louds succinct tree representation. In: Àlvarez, C., Serna, M.J. (eds.) WEA 2006. LNCS, vol. 4007, pp. 134–145. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Ferragina, P., Manzini, G., Mäkinen, V., Navarro, G.: Compressed representations of sequences and full-text indexes. ACM TALG (article 20) 3(2) (2007)Google Scholar
  7. 7.
    Fischer, J., Heun, V.: A new succinct representation of RMQ-information and improvements in the enhanced suffix array. In: Chen, B., Paterson, M., Zhang, G. (eds.) ESCAPE 2007. LNCS, vol. 4614, pp. 459–470. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Fischer, J., Heun, V.: Range median of minima queries, super cartesian trees, and text indexing (2007) (manuscript), www.bio.ifi.lmu.de/~fischer/fische101range.pdf
  9. 9.
    Geary, R., Rahman, N., Raman, R., Raman, V.: A simple optimal representation for balanced parentheses. Theoretical Computer Science 368, 231–246 (2006)CrossRefMathSciNetMATHGoogle Scholar
  10. 10.
    González, R., Navarro, G.: Compressed text indexes with fast locate. In: Ma, B., Zhang, K. (eds.) CPM 2007. LNCS, vol. 4580, pp. 216–227. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Grossi, R., Gupta, A., Vitter, J.: High-order entropy-compressed text indexes. In: Proc. 14th SODA, pp. 841–850 (2003)Google Scholar
  12. 12.
    Grossi, R., Vitter, J.: Compressed suffix arrays and suffix trees with applications to text indexing and string matching. SIAM J. on Computing 35(2), 378–407 (2006)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Gusfield, D.: Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. Cambridge University Press, Cambridge (1997)MATHGoogle Scholar
  14. 14.
    Jacobson, G.: Space-efficient static trees and graphs. In: Proc. 30th FOCS, pp. 549–554 (1989)Google Scholar
  15. 15.
    Kärkkäinen, J., Rao, S.: Full-text indexes in external memory. In: Meyer, U., Sanders, P., Sibeyn, J.F. (eds.) Algorithms for Memory Hierarchies. LNCS, vol. 2625, ch.7, pp. 149–170. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Ko, P., Aluru, S.: Optimal self-adjusting trees for dynamic string data in secondary storage. In: Ziviani, N., Baeza-Yates, R. (eds.) SPIRE 2007. LNCS, vol. 4726, pp. 184–194. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  17. 17.
    Kurtz, S.: Reducing the space requirements of suffix trees. Software: Practice and Experience 29(13), 1149–1171 (1999)CrossRefGoogle Scholar
  18. 18.
    Mäkinen, V., Navarro, G.: Succinct suffix arrays based on run-length encoding. Nordic J. of Computing 12(1), 40–66 (2005)Google Scholar
  19. 19.
    Manzini, G.: An analysis of the Burrows-Wheeler transform. J. of the ACM 48(3), 407–430 (2001)CrossRefMathSciNetGoogle Scholar
  20. 20.
    Munro, I.: Tables. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 37–42. Springer, Heidelberg (1996)Google Scholar
  21. 21.
    Munro, I., Raman, V., Rao, S.: Space efficient suffix trees. J. of Algorithms 39(2), 205–222 (2001)CrossRefMathSciNetMATHGoogle Scholar
  22. 22.
    Navarro, G., Mäkinen, V.: Compressed full-text indexes. ACM Computing Surveys (article 2) 39(1) (2007)Google Scholar
  23. 23.
    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
  24. 24.
    Russo, L., Navarro, G., Oliveira, A.: Fully-compressed suffix trees. In: Proc. 8th LATIN 2008. LNCS, vol. 4957, pp. 362–373. Springer, Heidelberg (2008)Google Scholar
  25. 25.
    Sadakane, K.: New text indexing functionalities of the compressed suffix arrays. J. of Algorithms 48(2), 294–313 (2003)CrossRefMathSciNetMATHGoogle Scholar
  26. 26.
    Sadakane, K.: Compressed suffix trees with full functionality. Theory of Computing Systems (to appear, 2007), doi:10.1007/s00224-006-1198-xGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Johannes Fischer
    • 1
  • Veli Mäkinen
    • 2
  • Gonzalo Navarro
    • 1
  1. 1.Dept. of Computer ScienceUniv. of Chile 
  2. 2.Dept. of Computer ScienceUniv. of HelsinkiFinland

Personalised recommendations