Title
Linear-time String Indexing and Analysis in Small Space
Abstract
The field of succinct data structures has flourished over the past 16 years. Starting from the compressed suffix array by Grossi and Vitter (STOC 2000) and the FM-index by Ferragina and Manzini (FOCS 2000), a number of generalizations and applications of string indexes based on the Burrows-Wheeler transform (BWT) have been developed, all taking an amount of space that is close to the input size in bits. In many large-scale applications, the construction of the index and its usage need to be considered as one unit of computation. For example, one can compare two genomes by building a common index for their concatenation and by detecting common substructures by querying the index. Efficient string indexing and analysis in small space lies also at the core of a number of primitives in the data-intensive field of high-throughput DNA sequencing. We report the following advances in string indexing and analysis: We show that the BWT of a string T ∈ {1,…,σ}n can be built in deterministic O(n) time using just O(n log σ) bits of space, where σ ≤ n. Deterministic linear time is achieved by exploiting a new partial rank data structure that supports queries in constant time and that might have independent interest. Within the same time and space budget, we can build an index based on the BWT that allows one to enumerate all the internal nodes of the suffix tree of T. Many fundamental string analysis problems, such as maximal repeats, maximal unique matches, and string kernels, can be mapped to such enumeration and can thus be solved in deterministic O(n) time and in O(n log σ) bits of space from the input string by tailoring the enumeration algorithm to some problem-specific computations. We also show how to build many of the existing indexes based on the BWT, such as the compressed suffix array, the compressed suffix tree, and the bidirectional BWT index, in randomized O(n) time and in O(n log σ) bits of space. The previously fastest construction algorithms for BWT, compressed suffix array and compressed suffix tree, which used O(n log σ) bits of space, took O(n log log σ) time for the first two structures and O(n log ϵn) time for the third, where ϵ is any positive constant smaller than one. Alternatively, the BWT could be previously built in linear time if one was willing to spend O(n log σ log log σ n) bits of space. Contrary to the state-of-the-art, our bidirectional BWT index supports every operation in constant time per element in its output.
Year
DOI
Venue
2016
10.1145/3381417
ACM Transactions on Algorithms
Keywords
Field
DocType
Burrows-Wheeler transform,Compact data structures,bidirectional BWT index,compressed indexes,compressed suffix array,compressed suffix tree,matching statistics,maximal exact match,maximal repeat,maximal unique match,minimal absent word,monotone minimal perfect hash function,partial rank query,string kernel,suffix array,suffix tree,suffix-link tree
Discrete mathematics,Combinatorics,Succinct data structure,Generalization,Spacetime,Enumeration,Sigma,Suffix tree,Time complexity,Compressed suffix array,Mathematics
Journal
Volume
Issue
ISSN
16
2
1549-6325
Citations 
PageRank 
References 
1
0.35
21
Authors
4
Name
Order
Citations
PageRank
Djamal Belazzougui143732.23
Fabio Cunial2729.68
Juha Kärkkäinen3135495.20
Veli Mäkinen4158385.29