KMP算法中 的 k=next[k],一张图讲清!

关于KMP算法中, if P[k] != P[j], k = next[k]的解释。 简易描述:   当 P[k] != P[j] 时,为了寻找最大前后缀长度,前缀最后一位必须前移,后缀第一位必须后移,直到前缀等于后缀。而这个前缀最后一位前移最合适的值就是 next[k] - 1,对应蓝色部分长度。四个蓝色部分相互相等的,红色部分也是相互相等的。   最后 P[k] 与 P[j] 的比较也就变成了
相关文章
相关标签/搜索