Summary: Let Sleeping Files Lie:
Pattern Matching in Zcompressed Files
Amihood Amir \Lambda Gary Benson y Martin Farach z
Georgia Tech U. of Southern California DIMACS and Rutgers
July 13, 1993
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 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 substring 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 Zcompression.
This is a variant of the LempelZiv adaptive compression scheme. If n is the length of the com
pressed text and m is the length of the pattern, our algorithms find the first pattern occurrence
in time O(n + m 2 ) 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 tradeoff between the amount of extra