ALCOMFT-TR-03-24
|

|
Stefan Burkhardt and Juha K\"arkk\"ainen
Fast Lightweight Suffix Array Construction and Checking
MPI.
Work packages 1, 4 and 5.
September 2003.
Abstract: We describe an algorithm that, for any v\in[2,n], constructs the
suffix array of a string of length n in \Ohvn + n log n time
using \Ohv+n/\sqrt{v} space in addition to the input (the
string) and the output (the suffix array). By setting v=log n, we
obtain an \Ohn log n time algorithm using \Ohn/\sqrt{log
n} extra space. This solves the open problem stated by
Manzini and Ferragina [ESA '02] of whether there exists a
lightweight (sublinear extra space) \Ohn log n time algorithm.
The key idea of the algorithm is to first sort a sample of suffixes
chosen using mathematical constructs called difference covers.
The algorithm is not only lightweight but also fast in practice as
demonstrated by experiments. Additionally, we describe fast and
lightweight suffix array checkers, i.e., algorithms that check the
correctness of a suffix array.
Postscript file: ALCOMFT-TR-03-24.ps.gz (105 kb).
System maintainer Gerth Stølting Brodal <gerth@cs.au.dk>