A fast algorithm for making suffix arrays and for Burrows-Wheeler transformation
- 27 November 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 129-138
- https://doi.org/10.1109/dcc.1998.672139
Abstract
We propose a fast and memory efficient algorithm for sorting suffixes of a text in lexicographic order. It is important to sort suffixes because an array of indexes of suffixes is called a suffix array and it is a memory efficient alternative of the suffix tree. Sorting suffixes is also used for the Burrows-Wheeler (see Technical Report 124, Digital SRC Research Report, 1994) transformation in the block sorting text compression, therefore fast sorting algorithms are desired. We compare algorithms for making suffix arrays of Bentley-Sedgewick (see Proceedings of the 8th Annual ACM-SIAM Symposium on Discrete Algorithms, p.360-9, 1997), Andersson-Nilsson (see 35th Symp. on Foundations of Computer Science, p.714-21, 1994) and Karp-Miller-Rosenberg (1972) and making suffix trees of Larsson (see Data Compression Conference, p.190-9, 1996) on the speed and required memory and propose a new algorithm which is fast and memory efficient by combining them. We also define a measure of difficulty of sorting suffixes: average match length. Our algorithm is effective when the average match length of a text is large, especially for large databases.Keywords
This publication has 8 references indexed in Scilit:
- Extended application of suffix trees to data compressionPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A new efficient radix sortPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- A corpus for the evaluation of lossless compression algorithmsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- On-line construction of suffix treesAlgorithmica, 1995
- Suffix Arrays: A New Method for On-Line String SearchesSIAM Journal on Computing, 1993
- Data Compression Using Adaptive Coding and Partial String MatchingIEEE Transactions on Communications, 1984
- A Space-Economical Suffix Tree Construction AlgorithmJournal of the ACM, 1976
- Rapid identification of repeated patterns in strings, trees and arraysPublished by Association for Computing Machinery (ACM) ,1972