Abstract
In substring compression one is given a text to preprocess so that, upon request, a compressed substring is returned. Generalized substring compression is the same with the following twist. The queries contain an additional context substring (or a collection of context substrings) and the answers are the substring in compressed format, where the context substring is used to make the compression more efficient. We focus our attention on generalized substring compression and present the first non-trivial correct algorithm for this problem. Inherent to our algorithm is a new method for finding the bounded longest common prefix of substrings, which may be of independent interest. In addition, we propose an efficient algorithm for substring compression which makes use of range successor queries. We present several tradeoffs for both problems. For compressing the substring S[i..j] (possibly with the substring S[α..β] as a context), the best query times we achieve are O(C) and O(Clog(j-i/C)) for substring compression query and generalized substring compression query, respectively, where C is the number of phrases encoded. A preliminary version of this paper has been presented in [21].
Original language | English |
---|---|
Pages (from-to) | 42-54 |
Number of pages | 13 |
Journal | Theoretical Computer Science |
Volume | 525 |
DOIs | |
State | Published - 13 Mar 2014 |
Keywords
- Data compression
- Lempel-Ziv compression
- Range searching
- Suffix tree
All Science Journal Classification (ASJC) codes
- Theoretical Computer Science
- General Computer Science