Abstract
The current explosion of stored information necessitates a new model of pattern matching, that of compressed matching. In this model one tries to find all occurrences of a pattern in a compressed text in time proportional to the compressed text size, i.e., without decompressing the text. The most effective general purpose compression algorithms are adaptive, in that the text represented by each compression symbol is determined dynamically by the data. As a result, the encoding of a sub-string depends on its location. Thus the same substring may "look different" every time it appears in the compressed text. In this paper we consider pattern matching without decompression in the UNIX Z-compression. This is a variant of the Lempel-Ziv adaptive compression scheme. If n is the length of the compressed text and m is the length of the pattern, our algorithms find the first pattern occurrence in time O(n+m2) or O(n log m+m). We also introduce a new criterion to measure compressed matching algorithms, that of extra space. We show how to modify our algorithms to achieve a trade-off between the amount of extra space used and the algorithm's time complexity.
Original language | English |
---|---|
Pages (from-to) | 299-307 |
Number of pages | 9 |
Journal | Journal of Computer and System Sciences |
Volume | 52 |
Issue number | 2 |
DOIs | |
State | Published - Apr 1996 |
Externally published | Yes |
Bibliographical note
Funding Information:* Partially supported by NSF Grants CCR-92-23699 and IRI-90-13055. -Partially supported by NSF Grants DMS-90-05833 and DMS-87-20208. Supported by DIMACS under NSF Contract STC-88-09648.