Abstract
We present a linear time algorithm to sort all the suffixes of a string over a large alphabet of integers. The sorted order of suffixes of a string is also called suffix array, a data structure introduced by Manber and Myers that has numerous applications in pattern matching, string processing, and computational biology. Though the suffix tree of a string can be constructed in linear time and the sorted order of suffixes derived from it, a direct algorithm for suffix sorting is of great interest due to the space requirements of suffix trees. Our result improves upon the best known direct algorithm for suffix sorting, which takes O(n log n) time. We also show how to construct suffix trees in linear time from our suffix sorting result. Apart from being simple and applicable for alphabets not necessarily of fixed size, this method of constructing suffix trees is more space efficient.
Research supported by IBM Faulty Award and NSF under ACI-0203782.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. I. Abouelhoda, S. Kurtz, and E. Ohlebusch. The enhanced suffix array and its applications to genome analysis. In 2nd Workshop on Algorithms in Bioinformatics, pages 449–63, 2002.
M. I. Abouelhoda, E. Ohlebusch, and S. Kurtz. Optimal exact string matching based on suffix arrays. In International Symposium on String Processing and Information Retrieval, pages 31–43. IEEE, 2002.
A. L. Delcher, S. Kasif, R. D. Fleischmann, J. Peterson, O. White, and S. L. Salzberg. Alignment of whole genomes. Nucleic Acids Research, 27:2369–76, 1999.
M. Farach and S. Muthukrishnan. Optimal logarithmic time randomized suffix tree construction. In Proc. of 23rd International Colloquium on Automata Languages and Programming, 1996.
D. Gusfield. Algorithms on Strings Trees and Sequences. Cambridge University Press, New York, New York, 1997.
H. Itoh and H. Tanaka. An efficient method for in memory construction of suffix array. In International Symposium on String Processing and Information Retrieval, pages 81–88. IEEE, 1999.
T. Kasai, G. Lee, H. Arimura, S. Arikawa, and K. Park. Linear-time longest-common-prefix computation in suffix arrays and its applications. In 12th Annual Symposium, Combinatorial Pattern Matching, pages 181–92, 2001.
J. Kärkkänen and P. Sanders. Simpler linear work suffix array construction. In International Colloquium on Automata, Languages and Programming, page to appear, 2003.
D. K. Kim, J. S. Sim, H. Park, and K. Park. Linear-time construction of suffix arrays. In 14th Annual Symposium, Combinatorial Pattern Matching, 2003.
N. J. Larsson and K. Sadakane. Faster suffix sorting. Technical Report LU-CS-TR:99-214, LUNDFD6/(NFCS-3140)/1-20/(1999), Department of Computer Science, Lund University, Sweden, May 1999.
E. M. McCreight. A space-economical suffix tree construction algorithm. Journal of the ACM, 23:262–72, 1976.
U. Manber and G. Myers. Suffix arrays: a new method for on-line search. SIAM Journal on Computing, 22:935–48, 1993.
E. Ukkonen. On-line construction of suffix-trees. Algorithmica, 14:249–60, 1995.
P. Weiner. Linear pattern matching algorithms. In 14th Symposium on Switching and Automata Theory, pages 1–11. IEEE, 1973.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ko, P., Aluru, S. (2003). Space Efficient Linear Time Construction of Suffix Arrays. In: Baeza-Yates, R., Chávez, E., Crochemore, M. (eds) Combinatorial Pattern Matching. CPM 2003. Lecture Notes in Computer Science, vol 2676. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44888-8_15
Download citation
DOI: https://doi.org/10.1007/3-540-44888-8_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40311-1
Online ISBN: 978-3-540-44888-4
eBook Packages: Springer Book Archive