Constant-time randomized parallel string matching

Maxime Crochemore, Zvi Galil, Leszek Ga̧sieniec, Kunsoo Park, Wojciech Rytter

Research output: Contribution to journalArticle

11 Scopus citations

Abstract

Given a pattern string of length m for the string-matching problem, we design an algorithm that computes deterministic samples of a sufficiently long substring of the pattern in constant time. This problem used to be the bottleneck in the pattern preprocessing for one- and two-dimensional pattern matching. The best previous time bound was O(log2 m/ log log m). We use this algorithm to obtain the following results (all algorithms below are optimal parallel algorithms on a CRCW PRAM): 1. a deterministic string-matching algorithm which takes O(log log m) time for preprocessing and constant time for text search, which are the best possible in both preprocessing and text search; 2. a constant-time deterministic string-matching algorithm in the case where the text length n satisfies n = Ω(m1+ε) for a constant ε > 0; 3. a simple string-matching algorithm that has constant time with high probability for random input; 4. the main result: a constant-expected-time Las Vegas algorithm for computing the period of the pattern and all witnesses and thus for string matching itself; in both cases, an Ω(log log m) lower bound is known for deterministic algorithms.

Original languageEnglish (US)
Pages (from-to)950-960
Number of pages11
JournalSIAM Journal on Computing
Volume26
Issue number4
DOIs
StatePublished - Aug 1997
Externally publishedYes

    Fingerprint

Keywords

  • Deterministic samples
  • Parallel string matching
  • Randomized algorithms

ASJC Scopus subject areas

  • Computer Science(all)
  • Mathematics(all)

Cite this