A faster algorithm for the computation of string convolutions using LZ78 parsing

Valerio Freschi, Alessandro Bogliolo. A faster algorithm for the computation of string convolutions using LZ78 parsing. Inf. Process. Lett., 110(14-15):609-613, 2010. [doi]

Abstract

String convolution between vectors of integers representing a pattern and a text is a widely used computational primitive in string processing. In this paper, we investigate the use of an algorithmic framework which exploits sequence repetitions (identified according to the Lempel–Ziv parsing technique, i.e., the LZ78 algorithm) to speed up conventional algorithms (based on Fast Fourier Transform) for the computation of convolution between a pattern and a text, when the text is long enough and the pattern is sufficiently small. In particular, we present a deterministic algorithm which, given a text T of length n (drawn from a constant size alphabet ΣT) and a pattern P of length m (drawn from a constant size alphabet ΣP), computes the convolution between P and T with time and space complexity View the MathML source, where h is the entropy of text T.