Inducing the LCP-Array

  • Johannes Fischer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6844)

Abstract

We show how to modify the linear-time construction algorithm for suffix arrays based on induced sorting (Nong et al., DCC’09) such that it computes the array of longest common prefixes (LCP-array) as well. Practical tests show that this outperforms recent LCP-array construction algorithms (Gog and Ohlebusch, ALENEX’11).

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alstrup, S., Gavoille, C., Kaplan, H., Rauhe, T.: Nearest common ancestors: A survey and a new algorithm for a distributed environment. Theory Comput. Syst. 37, 441–456 (2004)MathSciNetMATHCrossRefGoogle Scholar
  2. 2.
    Antonitio, R.P.J., Smyth, W.F., Turpin, A., Yu, X.: New suffix array algorithms — linear but not fast? In: Proc. Fifteenth Australasian Workshop Combinatorial Algorithms (AWOCA), pp. 148–156 (2004)Google Scholar
  3. 3.
    Cole, R., Hariharan, R.: Dynamic LCA queries on trees. SIAM J. Comput. 34(4), 894–923 (2005)MathSciNetMATHCrossRefGoogle Scholar
  4. 4.
    Fischer, J.: Optimal succinctness for range minimum queries. In: López-Ortiz, A. (ed.) LATIN 2010. LNCS, vol. 6034, pp. 158–169. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    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
  6. 6.
    Gabow, H.N., Bentley, J.L., Tarjan, R.E.: Scaling and related techniques for geometry problems. In: Proc. STOC, pp. 135–143. ACM Press, New York (1984)Google Scholar
  7. 7.
    Gog, S., Ohlebusch, E.: Fast and lightweight LCP-array construction algorithms. In: Proc. ALENEX, pp. 25–34. SIAM Press, Philadelphia (2011)Google Scholar
  8. 8.
    Harel, D., Tarjan, R.E.: Fast algorithms for finding nearest common ancestors. SIAM J. Comput. 13(2), 338–355 (1984); See also FOCS 1980MathSciNetMATHCrossRefGoogle Scholar
  9. 9.
    Itoh, H., Tanaka, H.: An efficient method for in memory construction of suffix arrays. In: Proc. SPIRE/CRIWG, pp. 81–88. IEEE Press, Los Alamitos (1999)Google Scholar
  10. 10.
    Kärkkäinen, J., Manzini, G., Puglisi, S.J.: Permuted longest-common-prefix array. In: Kucherov, G., Ukkonen, E. (eds.) CPM 2009 Lille. LNCS, vol. 5577, pp. 181–192. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    Kärkkäinen, J., Sanders, P., Burkhardt, S.: Linear work suffix array construction. J. ACM 53(6), 1–19 (2006)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Kasai, T., Lee, G., Arimura, H., Arikawa, S., Park, K.: Linear-time longest-common-prefix computation in suffix arrays and its applications. In: Amir, A., Landau, G.M. (eds.) CPM 2001. LNCS, vol. 2089, pp. 181–192. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    Kim, D.K., Sim, J.S., Park, H., Park, K.: Constructing suffix arrays in linear time. J. Discrete Algorithms 3(2-4), 126–142 (2005)MathSciNetMATHCrossRefGoogle Scholar
  14. 14.
    Ko, P., Aluru, S.: Space efficient linear time construction of suffix arrays. J. Discrete Algorithms 3(2-4), 143–156 (2005)MathSciNetMATHCrossRefGoogle Scholar
  15. 15.
    Manber, U., Myers, E.W.: Suffix arrays: A new method for on-line string searches. SIAM J. Comput. 22(5), 935–948 (1993)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Manzini, G.: Two space saving tricks for linear time LCP array computation. In: Hagerup, T., Katajainen, J. (eds.) SWAT 2004. LNCS, vol. 3111, pp. 372–383. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Navarro, G., Mäkinen, V.: Compressed full-text indexes. ACM Computing Surveys 39(1), Article No. 2 (2007)CrossRefGoogle Scholar
  18. 18.
    Nong, G., Zhang, S., Chan, W.H.: Linear suffix array construction by almost pure induced-sorting. In: Proc. DCC, pp. 193–202. IEEE Press, Los Alamitos (2009)Google Scholar
  19. 19.
    Okanohara, D., Sadakane, K.: A linear-time burrows-wheeler transform using induced sorting. In: Karlgren, J., Tarhio, J., Hyyrö, H. (eds.) SPIRE 2009. LNCS, vol. 5721, pp. 90–101. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Puglisi, S.J., Smyth, W.F., Turpin, A.: A taxonomy of suffix array construction algorithms. ACM Computing Surveys 39(2) (2007)Google Scholar
  21. 21.
    Sadakane, K.: Compressed suffix trees with full functionality. Theory of Computing Systems 41(4), 589–607 (2007)MathSciNetMATHCrossRefGoogle Scholar
  22. 22.
    Seward, J.: On the performance of BWT sorting algorithms. In: Proc. DCC, pp. 173–182. IEEE Press, Los Alamitos (2000)Google Scholar
  23. 23.
    Weiner, P.: Linear pattern matching algorithms. In: Proc. Annual Symp. on Switching and Automata Theory, pp. 1–11. IEEE Computer Society, Los Alamitos (1973)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Johannes Fischer
    • 1
  1. 1.KITInstitut für Theoretische InformatikKarlsruheGermany

Personalised recommendations