理解字符串匹配算法KMP

字符串匹配问题的基本形式是:在文本串 text 中,查找模式串 pattern 出现的位置。最朴素的做法是暴力匹配:一旦发生不匹配,就把模式串整体右移一位,重新从头比较。这种方法的问题在于:已经比较过的字符被重复比较, 最坏时间复杂度是 O(nm). KMP(Knuth–Morris–Pratt)算法的核心目标只有一个:当匹配失败时,模式串尽可能向右跳,而不是回到起点。

生物信息