Fast Compressed Self-indexes with Deterministic Linear-Time Construction

Abstract

We introduce a compressed suffix array representation that, on a text T of length n over an alphabet of size sigma, can be built in O(n) deterministic time, within O(nlog sigma) bits of working space, and counts the number of occurrences of any pattern P in T in time O(|P|+loglogw sigma) on a RAM machine of w=Omega(logn)-bit words. This time is almost optimal for large alphabets (log sigma=Theta(logn)), and it outperforms all the other compressed indexes that can be built in linear deterministic time, as well as some others. The only faster indexes can be built in linear time only in expectation, or require Theta(nlogn) bits. For smaller alphabets, where log sigma=o(logn), we show how, by using space proportional to a compressed representation of the text, we can build in linear time an index that counts in time O(|P|/log sigma n+log sigma En) for any constant E>0. This is almost RAM-optimal in the typical case where w=Theta(logn).

Más información

Título según WOS: Fast Compressed Self-indexes with Deterministic Linear-Time Construction
Título según SCOPUS: Fast Compressed Self-indexes with Deterministic Linear-Time Construction
Título de la Revista: ALGORITHMICA
Volumen: 82
Número: 2
Editorial: Springer
Fecha de publicación: 2020
Página de inicio: 316
Página final: 337
Idioma: English
DOI:

10.1007/s00453-019-00637-x

Notas: ISI, SCOPUS