Skip to main content

Part of the book series: SpringerBriefs in Computer Science ((BRIEFSCOMPUTER))

  • 293 Accesses

Abstract

The LCP array is a fundamental data structure that provides the length of the longest common prefix between consecutive pairs of suffixes in the lexicographic order. The LCP array is commonly combined with the suffix array to speed up algorithms. In this chapter we present a variant of the suffix sorting algorithm SACA-K (Nong, 2013) that also computes the LCP array. This augmented algorithm, called SACA-K+LCP (Louza et al., 2017b), runs in O() time using 4σ + O(1) words of workspace, which is optimal for strings from constant alphabets.

This chapter is based on [18]. It was first published in: Information Processing Letters (v. 118) and republished here with the permission of the copyright holder.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    See Ohlebusch’s book [27, Alg. 4.4] for details.

  2. 2.

    https://github.com/felipelouza/sacak-lcp.

  3. 3.

    https://github.com/kurpicz/sais-lite-lcp.

  4. 4.

    code.google.com/archive/p/ge-nong/downloads.

  5. 5.

    https://pizzachili.dcc.uchile.cl.

  6. 6.

    https://sites.google.com/site/yuta256/.

References

  1. A. Abeliuk, R. Cánovas, G. Navarro, Practical compressed suffix trees. Algorithms 6(2), 319–351 (2013)

    Article  MathSciNet  Google Scholar 

  2. M.I. Abouelhoda, S. Kurtz, E. Ohlebusch, Replacing suffix trees with enhanced suffix arrays. J. Discrete Algorithms 2(1), 53–86 (2004)

    Article  MathSciNet  Google Scholar 

  3. M.I. Abouelhoda, S. Kurtz, E. Ohlebusch, Enhanced suffix arrays and applications, in Handbook on Computational Molecular Biology, pp. 7–27 (Chapman and Hall/CRC, 2005)

    Google Scholar 

  4. T. Beller, S. Gog, E. Ohlebusch, T. Schnattinger, Computing the longest common prefix array based on the Burrows-Wheeler transform. J. Discrete Algorithms 18, 22–31 (2013)

    Article  MathSciNet  Google Scholar 

  5. M. Burrows, D.J. Wheeler, A block-sorting lossless data compression algorithm. Technical report, Digital SRC Research Report, 1994

    Google Scholar 

  6. M. Cáceres, G. Navarro, Faster repetition-aware compressed suffix trees based on block trees, in String Processing and Information Retrieval - 26th International Symposium, SPIRE 2019, Segovia, Spain, October 7–9, 2019, Proceedings, pp. 434–451 (2019)

    Google Scholar 

  7. A. Farruggia, T. Gagie, G. Navarro, S.J. Puglisi, J. Sirén, Relative suffix trees. Comput. J. 61(5), 773–788 (2018)

    Article  MathSciNet  Google Scholar 

  8. J. Fischer, Inducing the LCP-array, in Proc. Workshop on Algorithms and Data Structures (WADS), pp. 374–385 (2011)

    Google Scholar 

  9. J. Fischer, V. Heun, A new succinct representation of rmq-information and improvements in the enhanced suffix array, in Proc. Combinatorics, Algorithms, Probabilistic and Experimental Methodologies (ESCAPE), pp. 459–470 (2007)

    Google Scholar 

  10. J. Fischer, F. Kurpicz, Dismantling divsufsort, in Proc. Prague Stringology Conference (PSC), pp. 62–76 (2017)

    Google Scholar 

  11. T. Gagie, G. Navarro, N. Prezza, Fully functional suffix trees and optimal text searching in BWT-runs bounded space. J. ACM 67(1), 2:1–2:54 (2020)

    Google Scholar 

  12. S. Gog, Compressed Suffix Trees: Design, Construction, and Applications, Ph.D. thesis, University of Ulm, 2011

    Google Scholar 

  13. S. Gog, E. Ohlebusch, Fast and lightweight LCP-array construction algorithms, in Proc. Workshop on Algorithm Engineering and Experimentation (ALENEX), pp. 25–34 (2011)

    Google Scholar 

  14. S. Gog, E. Ohlebusch, Compressed suffix trees: efficient computation and storage of LCP-values. J. Exp. Algorithmics (2013)

    Google Scholar 

  15. J. Kärkkäinen, G. Manzini, S.J. Puglisi, Permuted longest-common-prefix array, in Proc. Annual Symposium on Combinatorial Pattern Matching (CPM), pp. 181–192 (2009)

    Google Scholar 

  16. T. Kasai, G. Lee, H. Arimura, S. Arikawa, K. Park, Linear-time longest-common-prefix computation in suffix arrays and its applications, in Proc. Annual Symposium on Combinatorial Pattern Matching (CPM), pp. 181–192 (2001)

    Google Scholar 

  17. F.A. Louza, T. Gagie, G.P. Telles, Burrows-Wheeler transform and LCP array construction in constant space. J. Discrete Algorithms 42, 14–22 (2017)

    Article  MathSciNet  Google Scholar 

  18. F.A. Louza, S. Gog, G.P. Telles, Optimal suffix sorting and LCP array construction for constant alphabets. Inf. Process. Lett. 118, 30–34 (2017)

    Article  MathSciNet  Google Scholar 

  19. U. Manber, G. Myers, Suffix arrays: a new method for on-line string searches, in Proc. ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 319–327 (1990)

    Google Scholar 

  20. G. Manzini, Two space saving tricks for linear time LCP array computation, in Proc. Scandinavian Workshop on Algorithm Theory (SWAT), pp. 372–383 (2004)

    Google Scholar 

  21. G. Navarro, V. Mäkinen, Compressed full-text indexes. ACM Comput. Surv. 39(1), 1–61 (2007)

    Article  Google Scholar 

  22. G. Navarro, A.O. Pereira, Faster compressed suffix trees for repetitive collections. ACM J. Exp. Algorithmics 21(1), 1.8:1–1.8:38 (2016)

    Google Scholar 

  23. G. Navarro, L.M.S. Russo, Fast fully-compressed suffix trees, in Proc. IEEE Data Compression Conference (DCC), pp. 283–291 (2014)

    Google Scholar 

  24. G. Nong, Practical linear-time O(1)-workspace suffix sorting for constant alphabets. ACM Trans. Inf. Syst. 31(3), 1–15 (2013)

    Article  MathSciNet  Google Scholar 

  25. G. Nong, S. Zhang, W.H. Chan, Two efficient algorithms for linear time suffix array construction. IEEE Trans. Comput. 60(10), 1471–1484 (2011)

    Article  MathSciNet  Google Scholar 

  26. D.S.N. Nunes, M. Ayala-Rincón, A compressed suffix tree based implementation with low peak memory usage, in Proc. XXXIX Latin American Computer Conference (CLEI), pp. 73–94 (2013)

    Google Scholar 

  27. E. Ohlebusch, Bioinformatics Algorithms: Sequence Analysis, Genome Rearrangements and Phylogenetic Reconstruction (Oldenbusch Verlag, 2013)

    Google Scholar 

  28. N. Prezza, G. Rosone, Space-efficient computation of the LCP array from the Burrows-Wheeler transform. CoRR (2019). abs/1901.05226

    Google Scholar 

  29. L.M.S. Russo, G. Navarro, A.L. Oliveira, Fully compressed suffix trees. ACM Trans. Algorithms 7(4), 53:1–53:34 (2011)

    Google Scholar 

  30. K. Sadakane, Compressed suffix trees with full functionality. Theory Comput. Syst. 41(4), 589–607 (2007)

    Article  MathSciNet  Google Scholar 

  31. P. Weiner, Linear pattern matching algorithms, in Proc. Annual Symposium on Switching and Automata Theory (SWAT), pp. 1–11 (1973)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2020 The Author(s), under exclusive licence to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Louza, F.A., Gog, S., Telles, G.P. (2020). Inducing the LCP Array. In: Construction of Fundamental Data Structures for Strings. SpringerBriefs in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-030-55108-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-55108-7_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-55107-0

  • Online ISBN: 978-3-030-55108-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics