KMP算法

JUly的文章:从头到尾彻底理解KMP

 

KMP算法:

复杂度:线性

PMT数组:PMT中的值是字符串的前缀集合与后缀集合的交集中最长元素的长度。

next数组:是将PMT数组向后偏移一位得到的数组。

基于next数组进行匹配。

 

next数组的求法:模式串自己和自己匹配,用递推的方式,基于next[1....j] 确定next[j+1]

  如果匹配:next[i]=j;

   不匹配:j=next[j];

 

知乎:高赞答案 如何更好理解KMP

 

    

posted @ 2019-03-27 10:00  TheAnswerer  阅读(88)  评论(0编辑  收藏  举报