Faster algorithms for string matching with k mismatches - Amir, Amihood; Lewenstein, Moshe; Porat, Ely (Journal of algorithms, 2004)
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 Galil–Giancarlo 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 O(n m logm ) . 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 logk ) . We also show an algorithm that solves the above problem in time O(( n+( nk 3)/ m)log k).