Suffix arrays: a new method for on-line string searches
SIAM Journal on Computing
Constructing Suffix Trees On-Line in Linear Time
Proceedings of the IFIP 12th World Computer Congress on Algorithms, Software, Architecture - Information Processing '92, Volume 1 - Volume I
Computing regularities in strings: A survey
European Journal of Combinatorics
Hi-index | 0.00 |
The space requirement of Crochemore's repetitions algorithm is generally estimated to be about 20mn bytes of memory, where n is the length of the input string and m the number of bytes required to store the integer n. The same algorithm can also be used in other contexts, for instance to compute the suffix tree of the input string in O(n log n) time for the purpose of data compression. In such contexts the large space requirement of the algorithm is a significant drawback. There are of course several newer space-efficient algorithms with the same time complexity that can compute suffix trees or arrays. However, in actual implementations, these algorithms may not be faster than Crochemore's. Therefore, we consider it interesting enough to describe a new approach based on the same mathematical principles and observations that were put forth in Crochemore's original paper, but whose space requirement is 10mn bytes. Additional advantages of the approach are the ease with which it can be implemented in C/C++ and the apparent speed of such an implementation in comparison to other implementations of the original algorithm.