KMP

来源:互联网 发布:协同过滤 共现矩阵 编辑:程序博客网 时间:2024/06/12 00:30

KMP算法是用来解决两个字符串匹配的十分神奇的O(n)算法。最主要的在于对于目标串的处理,有一个名为next的数组,得到的是字符当前点的后缀和字符的前缀能匹配相等的最大值。用O(n)求出。然后当对模式串进行匹配时用next数组进行转移,模式串遍历需要O(m)时间,对整体而言,个人觉得匹配串next跳的总次数会<2*O(n),即可看成O(n)时间,那么整体时间复杂度为O(m+n).这篇博客讲的很棒:http://www.cnblogs.com/c-cloud/p/3224788.html

0 0