kmp算法next(j)怎么算出来的?
收起
知与谁同
2018-07-22 19:35:02
3486
0
2
条回答
写回答
取消
提交回答
-
想帮你'但是我没上过大学''无能为力啊…
2019-07-17 22:55:55
-
int first=-1,last=0;
len=strlen(ch);
while(last<len){
if(ch[first]==ch[last] || first==-1){
first++;last++;
next[last]=first;
}
else
first=next[first];
}
用自己和自己KMP然后得出next[]
最后的出来的就是next[]了,当然我这个next[]是初值为-1的,你书上写的应该是最大匹配值,就是将我的全部左移一位的结果
2019-07-17 22:55:55