Summary: Faster Algorithms for String Matching with k Mismatches
Amihood Amir \Lambday Moshe Lewenstein \Lambda z Ely Porat \Lambda
BarIlan University and BarIlan University Bar Ilan University and
Georgia Tech Weizmann Institute
June 28, 2000
The string matching with mismatches problem is that of finding the number of mismatches
between a pattern P of length m and every length m substring of the text T . Currently,
the fastest algorithms for this problem are the following. The LandauVishkin algorithm finds
all locations where the pattern has at most k errors (where k is part of the input) in time
O(nk). The Abrahamson algorithm finds the number of mismatches at every location in time
m log m).
We present an algorithm that is faster than both. Our algorithm finds all locations where
the pattern has at most k errors in time O(n
k log k). We also show an algorithm that solves
the above problem in time O((n + nk 3
m ) log k).