Fast string matching with k differences

Gad M. Landau, Uzi Vishkin

Research output: Contribution to journalArticlepeer-review

Abstract

Consider the string matching problem where differences between characters of the pattern and characters of the text are allowed. Each difference is due to either a mismatch between a character of the text and a character of the pattern or a superfluous character in the text or a superfluous character in the pattern. Given a text of length n, a pattern of length m, and an integer k, we present an algorithm for finding all occurrences of the pattern in the text, each with at most kdifferences. It runs in O(m+nk2) time for an alphabet whose size is fixed. For general input the algorithm requires O(m log m +nk2) time. In both cases the space requirement is O(m).

Original languageEnglish
Pages (from-to)63-78
Number of pages16
JournalJournal of Computer and System Sciences
Volume37
Issue number1
DOIs
StatePublished - Aug 1988
Externally publishedYes

Bibliographical note

Funding Information:
* The research of these authors was supported by the Applied Mathematical Sciences subprogram of the Office of Energy Research, U.S. Department of Energy under Contract Number DE-ACOZ-76ER03077. + Present address: Department of Computer Science, Courant Institute of Mathematical Sciences, New York University, 251 Mercer Street, New York, NY 10012. $ Present address: Department of Computer Science, School of Mathematical Sciences, Sackler Faculty of Exact Sciences, Tel Aviv University, Tel Aviv 69978, Israel. The research of this author was supported by NSF Grant NSF-CCR-8615337, ONR Grant NOOOl4-85-K-0046, and Foundation for Research in Electronics, Computers and Communication, Administered by the Israeli Academy of Sciences and Humanities.

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Networks and Communications
  • Computational Theory and Mathematics
  • Applied Mathematics

Fingerprint

Dive into the research topics of 'Fast string matching with k differences'. Together they form a unique fingerprint.

Cite this