Simple Linear Work Suffix Array Construction

  • Juha Kärkkäinen
  • Peter Sanders
Conference paper

DOI: 10.1007/3-540-45061-0_73

Part of the Lecture Notes in Computer Science book series (LNCS, volume 2719)
Cite this paper as:
Kärkkäinen J., Sanders P. (2003) Simple Linear Work Suffix Array Construction. In: Baeten J.C.M., Lenstra J.K., Parrow J., Woeginger G.J. (eds) Automata, Languages and Programming. ICALP 2003. Lecture Notes in Computer Science, vol 2719. Springer, Berlin, Heidelberg

Abstract

A suffix array represents the suffixes of a string in sorted order. Being a simpler and more compact alternative to suffix trees, it is an important tool for full text indexing and other string processing tasks. We introduce the skew algorithm for suffix array construction over integer alphabets that can be implemented to run in linear time using integer sorting as its only nontrivial subroutine:
  1. 1.

    recursively sort suffixes beginning at positions i mod 3 ≠ 0.

     
  2. 2.

    sort the remaining suffixes using the information obtained in step one.

     
  3. 3.

    merge the two sorted sequences obtained in steps one and two.

     

The algorithm is much simpler than previous linear time algorithms that are all based on the more complicated suffix tree data structure. Since sorting is a well studied problem, we obtain optimal algorithms for several other models of computation, e.g. external memory with parallel disks, cache oblivious, and parallel. The adaptations for BSP and EREW-PRAM are asymptotically faster than the best previously known algorithms.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Juha Kärkkäinen
    • 1
  • Peter Sanders
    • 1
  1. 1.Max-Planck-Institut für InformatikSaarbrückenGermany

Personalised recommendations