摘要:
KMP算法的思想是主串S 和模式串W,判断W是否匹配S如果主串S在i位置与W串在j位置出现不匹配的情况的时候,利用已经得到的匹配把W串尽量右移动一段距离。用伪代码写,如下:int kmp(string S, string W){while(i<S.length){if(S[i]==W[j]) {if(j==W.length-1) return i-j;i++; j++;} else {if(next[j]>-1){j=next[j];} else {i=i-j+1;j=0;}}这里我们一般记next[0]=-1;next[1]=0当j>=2时,找到最大的k,使得W[0]~W[ 阅读全文