Optimal Lightweight Construction of Suffix Arrays for Constant Alphabets

  • Ge Nong
  • Sen Zhang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4619)


This article presents our divide-and-conquer optimal algorithms for lightweight suffix array construction for constant alphabets. These algorithms can efficiently compute the suffix array of a size-n text T with an alphabet Σ using O(nlogΣ) time and (ℓ(T) + |Σ|⌈logn ⌉ + O(1))-bit working space (excluding the space for the output suffix array), where Σ is an integer or constant alphabet, and ℓ(T) is the length of T measured in bits. For popular applications in practice with n ≤ 232 and |Σ| ≤ 256, these results translate into O(n) time and a total space of 5n + O(1) bytes, which are the optimal time and space complexities for lightweight suffix array construction.


Space Complexity Total Space Input Text Suffix Array Consecutive Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Puglisi, S.J., Smyth, W.F., Turpin, A.: A taxonomy of suffix array construction algorithms. ACM Computing Surveys 2006 (to appear)Google Scholar
  2. 2.
    Manber, U., Myers, G.: Suffix arrays: A new method for on-line string searches. In: Proceedings of the first ACM-SIAM Symposium on Discrete Algorithms, pp. 319–327 (1990)Google Scholar
  3. 3.
    Manber, U., Myers, G.: Suffix arrays: A new method for on-line string searches. SIAM Journal on Computing 22(5), 935–948 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Burrows, M., Wheeler, D.J.: A block-sorting lossless data compression algorithm. Technical Report SRC Research Report 124, Digital Systems Research Center, California, USA (1994)Google Scholar
  5. 5.
    Manzini, G., Ferragina, P.: Engineering a lightweight suffix array construction algorithm. Algorithmica 40(1), 33–50 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Grossi, R., Vitter, J.S.: Compressed suffix arrays and suffix trees with applications to text indexing and string matching. In: STOC 2000. Proceedings of the 32nd Annual ACM Symposium on Theory of Computing, pp. 397–406 (2000)Google Scholar
  7. 7.
    Hon, W.K., Sadakane, K., Sung, W.K.: Breaking a time-and-space barrier for constructing full-text indices. In: Proceedings of FOCS 2003, pp. 251–260 (2003)Google Scholar
  8. 8.
    Lam, T.W., Sadakane, K., Sung, W.K., Yiu, S.M.: A space and time efficent algorithm for constructing compressed suffix arrays. In: Proceedings of International Conference on Computing and Combinatorics, pp. 401–410 (2002)Google Scholar
  9. 9.
    Kurtz, S.: Reducing the space requirement of suffix trees. Software Practice and Experience 29, 1149–1171 (1999)CrossRefGoogle Scholar
  10. 10.
    Burkhardt, S., Kärkkäinen, J.: Fast lightweight suffix array construction and checking. In: Baeza-Yates, R.A., Chávez, E., Crochemore, M. (eds.) CPM 2003. LNCS, vol. 2676, pp. 55–69. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Manzini, G., Ferragina, P.: Engineering a lightweight suffix array construction algorithm. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 698–710. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Na, J.C.: Linear-time construction of compressed suffix arrays using O(nlog n)-bit working space for large alphabets. In: Apostolico, A., Crochemore, M., Park, K. (eds.) CPM 2005. LNCS, vol. 3537, pp. 57–67. Springer, Heidelberg (2005)Google Scholar
  13. 13.
    Larsson, N.J., Sadakane, K.: Faster suffix sorting. Technical Report LU-CS-TR:99-214, LUNDFD6/(NFCS-3140)/1–20/(1999), Department of Computer Science, Lund University, Sweden (1999)Google Scholar
  14. 14.
    Maniscalco, M.A., Puglisi, S.J.: Faster lightweight suffix array construction. In: AWOCA 2006. Proceedings of 17th Australasian Workshop on Combinatorial Algorithms, pp. 16–29 (2006)Google Scholar
  15. 15.
    Kärkkäinen, J., Sanders, P., Burkhardt, S.: Linear work suffix array construction. Journal of the ACM 6, 918–936 (2006)CrossRefGoogle Scholar
  16. 16.
    Ko, P., Aluru, S.: Space efficient linear time construction of suffix arrays. In: Baeza-Yates, R.A., Chávez, E., Crochemore, M. (eds.) CPM 2003. LNCS, vol. 2676, pp. 200–210. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  17. 17.
    Kim, D.K., Jo, J., Park, H.: A fast algorithm for constructing suffix arrays for fixed-size alphabets. In: Ribeiro, C.C., Martins, S.L. (eds.) WEA 2004. LNCS, vol. 3059, pp. 301–314. Springer, Heidelberg (2004)Google Scholar
  18. 18.
    Itoh, H., Tanaka, H.: An efficient method for in memory construction of suffix arrays. In: Proceedings of String Processing and Information Retrieval Symposium (1999)Google Scholar
  19. 19.
    Seward, J.: On the performance of BWT sorting algorithms. In: Proceedings DCC 2000 Data Compression Conference, Snowbird, UT, USA, pp. 173–82 (2000)Google Scholar
  20. 20.
    Schürmann, K.B., Stoye, J.: An incomplex algorithm for fast suffix array construction. In: ALENEX/ANALCO 2005. Proceedings of 7th Workshop on Algorithm Engineering and Experiments, pp. 77–85 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Ge Nong
    • 1
  • Sen Zhang
    • 2
  1. 1.Computer Science Department, Sun Yat-Sen University, GuangZhou 510275PRC
  2. 2.Department of Mathematics, Computer Science and Statistics, SUNY College at Oneonta, NY 07104U.S.A.

Personalised recommendations