模式串匹配之KMP算法
模式串匹配之KMP算法
KMP算法
模式值计算(next[j])
(1) next[0]=-1, 第一个字符模式值为-1
(2) next[j]=-1, T中下标为j的字符与首字符相同,且j前面的1-k个字符与开头的1-k个字符不同(或相等但T[k]=T[j])(1<=k<j),
如:T='abCabCad',next[6]=-1
(3) next[j]=k, j的前面k个字符与开头的k个字符相等,且T[j]!=T[k](1<=k<j)
如:T=‘abcabd’,next[5]=2。
(4) next[j]=0, 其他情况