Fully-Functional Suffix Trees and Optimal Text Searching in BWT-runs Bounded Space
arXiv:1809.02792 · doi:10.1145/3375890
Abstract
Indexing highly repetitive texts - such as genomic databases, software repositories and versioned text collections - has become an important problem since the turn of the millennium. A relevant compressibility measure for repetitive texts is r, the number of runs in their Burrows-Wheeler Transforms (BWTs). One of the earliest indexes for repetitive collections, the Run-Length FM-index, used O(r) space and was able to efficiently count the number of occurrences of a pattern of length m in the text (in loglogarithmic time per pattern symbol, with current techniques). However, it was unable to locate the positions of those occurrences efficiently within a space bounded in terms of r. In this paper we close this long-standing problem, showing how to extend the Run-Length FM-index so that it can locate the occ occurrences efficiently within O(r) space (in loglogarithmic time each), and reaching optimal time, O(m + occ), within O(r log log w (σ + n/r)) space, for a text of length n over an alphabet of size σ on a RAM machine with words of w = Ω(log n) bits. Within that space, our index can also count in optimal time, O(m). Multiplying the space by O(w/ log σ), we support count and locate in O(dm log(σ)/we) and O(dm log(σ)/we + occ) time, which is optimal in the packed setting and had not been obtained before in compressed space. We also describe a structure using O(r log(n/r)) space that replaces the text and extracts any text substring of length ` in almost-optimal time O(log(n/r) + ` log(σ)/w). Within that space, we similarly provide direct access to suffix array, inverse suffix array, and longest common prefix array cells, and extend these capabilities to full suffix tree functionality, typically in O(log(n/r)) time per operation.
submitted version; optimal count and locate in smaller space: O(r log log_w(n/r + sigma))
References in corpus (6)
- Succinct Indexable Dictionaries with Applications to Encoding -ary Trees, Prefix Sums and Multisets
- Universal Compressed Text Indexing
- Time-Space Trade-Offs for Lempel-Ziv Compressed Indexing
- Universal Indexes for Highly Repetitive Document Collections
- Optimal Construction of Compressed Indexes for Highly Repetitive Texts
- Relative Suffix Trees
Cited by in corpus (12)
- Resolution of the Burrows-Wheeler Transform Conjecture
- BWT construction and search at the terabase scale
- Dynamic Suffix Array with Polylogarithmic Queries and Updates
- Sensitivity of string compressors and repetitiveness measures
- Collapsing the Hierarchy of Compressed Data Structures: Suffix Arrays in Optimal Compressed Space
- A survey of BWT variants for string collections
- Suffix sorting via matching statistics
- Bit catastrophes for the Burrows-Wheeler Transform
- Novel Results on the Number of Runs of the Burrows-Wheeler-Transform
- Encodings for Range Minimum Queries over Bounded Alphabets
- LZ78 Substring Compression in Compressed Space
- On the Hardness Hierarchy for the Complexity in the Word RAM