Circular Pattern Matching with Mismatches
arXiv:1907.01815
Abstract
The -mismatch problem consists in computing the Hamming distance between a pattern of length and every length- substring of a text of length , if this distance is no more than . In many real-world applications, any cyclic rotation of is a relevant pattern, and thus one is interested in computing the minimal distance of every length- substring of and any cyclic rotation of . This is the circular pattern matching with mismatches (-CPM) problem. A multitude of papers have been devoted to solving this problem but, to the best of our knowledge, only average-case upper bounds are known. In this paper, we present the first non-trivial worst-case upper bounds for the -CPM problem. Specifically, we show an -time algorithm and an -time algorithm. The latter algorithm applies in an extended way a technique that was very recently developed for the -mismatch problem [Bringmann et al., SODA 2019]. A preliminary version of this work appeared at FCT 2019. In this version we improve the time complexity of the main algorithm from to .
Extended version of a paper from FCT 2019