JOURNAL ARTICLE

Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching Read More: http://epubs.siam.org/doi/abs/10.1137/S0097539702402354

Roberto GrossiJeffrey Scott Vitter

Year: 2005 Journal:   KU ScholarWorks (The University of Kansas)   Publisher: University of Kansas

Abstract

The proliferation of online text, such as found on the World Wide Web and in online databases, motivates the need for space-efficient text indexing methods that support fast string searching. We model this scenario as follows: Consider a text T consisting of n symbols drawn from a fixed alphabet $\Sigma$. The text T can be represented in $n \lg |\Sigma|$ bits by encoding each symbol with $\lg |\Sigma|$ bits. The goal is to support fast online queries for searching any string pattern P of m symbols, with T being fully scanned only once, namely, when the index is created at preprocessing time. The text indexing schemes published in the literature are greedy in terms of space usage: they require $\Omega(n \lg n)$ additional bits of space in the worst case. For example, in the standard unit cost RAM, suffix trees and suffix arrays need $\Omega(n)$ memory words, each of $\Omega(\lg n)$ bits. These indexes are larger than the text itself by a multiplicative factor of $\Omega(\smash{\lg_{|\Sigma|} n})$, which is significant when $\Sigma$ is of constant size, such as in \textsc{ascii} or \textsc{unicode}. On the other hand, these indexes support fast searching, either in $O(m \lg |\Sigma|)$ time or in $O(m +\lg n)$ time, plus an output-sensitive cost $O(\mathit{occ})$ for listing the $\mathit{occ}$ pattern occurrences. We present a new text index that is based upon compressed representations of suffix arrays and suffix trees. It achieves a fast $\smash{O(m /\lg_{|\Sigma|} n + \lg_{|\Sigma|}^\epsilon n)}$ search time in the worst case, for any constant $0 < \epsilon \leq 1$, using at most $\smash{\bigl(\epsilon^{-1} + O(1)\bigr) \, n \lg |\Sigma|}$ bits of storage. Our result thus presents for the first time an efficient index whose size is provably linear in the size of the text in the worst case, and for many scenarios, the space is actually sublinear in practice. As a concrete example, the compressed suffix array for a typical 100 MB \textsc{ascii} file can require 30--40 MB or less, while the raw suffix array requires 500 MB. Our theoretical bounds improve \emph{both} time and space of previous indexing schemes. Listing the pattern occurrences introduces a sublogarithmic slowdown factor in the output-sensitive cost, giving $O(\mathit{occ} \, \smash{\lg_{|\Sigma|}^\epsilon n})$ time as a result. When the patterns are sufficiently long, we can use auxiliary data structures in $O(n \lg |\Sigma|)$ bits to obtain a total search bound of $O(m /\lg_{|\Sigma|} n + \mathit{occ})$ time, which is optimal.

Keywords:
Compressed suffix array Suffix Suffix tree Combinatorics String (physics) Suffix array String searching algorithm Search engine indexing Word (group theory) Amortized analysis Multiplicative function Mathematics Computer science Discrete mathematics Algorithm Pattern matching Data structure Artificial intelligence

Metrics

434
Cited By
33.36
FWCI (Field Weighted Citation Impact)
70
Refs
1.00
Citation Normalized Percentile
Is in top 1%
Is in top 10%

Citation History

Topics

Algorithms and Data Compression
Physical Sciences →  Computer Science →  Artificial Intelligence
Network Packet Processing and Optimization
Physical Sciences →  Computer Science →  Hardware and Architecture
DNA and Biological Computing
Life Sciences →  Biochemistry, Genetics and Molecular Biology →  Molecular Biology

Related Documents

JOURNAL ARTICLE

Compressed Suffix Arrays and Suffix Trees with Applications to Text Indexing and String Matching

Roberto GrossiJeffrey Scott Vitter

Journal:   SIAM Journal on Computing Year: 2005 Vol: 35 (2)Pages: 378-407
JOURNAL ARTICLE

Approximate string matching using compressed suffix arrays

Trinh HuynhWing-Kai HonTak‐Wah LamWing‐Kin Sung

Journal:   Theoretical Computer Science Year: 2005 Vol: 352 (1-3)Pages: 240-249
BOOK-CHAPTER

Approximate String Matching Using Compressed Suffix Arrays

Trinh HuynhWing-Kai HonTak‐Wah LamWing‐Kin Sung

Lecture notes in computer science Year: 2004 Pages: 434-444
JOURNAL ARTICLE

New text indexing functionalities of the compressed suffix arrays

Kunihiko Sadakane

Journal:   Journal of Algorithms Year: 2003 Vol: 48 (2)Pages: 294-313
© 2026 ScienceGate Book Chapters — All rights reserved.