KMP中的getnext函数中的周期原理,和重要性质
2013-11-10 16:42
253 查看
-----------------------
-----------------------
k m x j i
由上,next【i】=j,两段红色的字符串相等(两个字符串完全相等),s[k....j]==s[m....i]
设s[x...j]=s[j....i](xj=ji)
则可得,以下简写字符串表达方式
kj=kx+xj;
mi=mj+ji;
因为xj=ji,所以kx=mj,如下图所示
-------------
-------------
k m x j
看到了没,此时又重复上面的模型了,kx=mj,所以可以一直这样递推下去
所以可以推出一个重要的性质len-next[i]为此字符串的最小循环节(i为字符串的结尾),另外如果len%(len-next[i])==0,此字符串的最小周期就为len/(len-next[i]);
-----------------------
k m x j i
由上,next【i】=j,两段红色的字符串相等(两个字符串完全相等),s[k....j]==s[m....i]
设s[x...j]=s[j....i](xj=ji)
则可得,以下简写字符串表达方式
kj=kx+xj;
mi=mj+ji;
因为xj=ji,所以kx=mj,如下图所示
-------------
-------------
k m x j
看到了没,此时又重复上面的模型了,kx=mj,所以可以一直这样递推下去
所以可以推出一个重要的性质len-next[i]为此字符串的最小循环节(i为字符串的结尾),另外如果len%(len-next[i])==0,此字符串的最小周期就为len/(len-next[i]);
相关文章推荐
- hdu1358 Period KMP之next函数灵魂 KMP的周期 周期 周期
- kmp next函数 kmp的周期问题,深入了解kmp中next的原理(kmp)
- kmp next函数 kmp的周期问题,深入了解kmp中next的原理
- kmp next函数 kmp的周期问题,深入了解kmp中next的原理
- kmp next函数 kmp的周期问题,深入了解kmp中next的原理
- kmp next函数 kmp的周期问题,深入了解kmp中next的原理
- 转载 - kmp next函数 kmp的周期问题,深入了解kmp中next的原理
- 函数用法CListCtrl::GetNextItem
- CObList::GetNext()函数,Find()函数
- 虚函数重要性质总结
- POJ 2406(KMP中next的性质)
- KMP的next数组性质运用
- POJ 2752+KMP+利用next数组性质求出所有相同的前缀和后缀
- poj2752 KMP的next[]函数的理解 或者 扩展的KMP
- KMP的next数组性质运用
- GetNextDataObject函数执行失败
- linux之重要函数 property_get/property_set
- .NET 2.0 中 GetDelegateForFunctionPointer 函数实现原理浅析 [草稿]
- KMP模式匹配算法原理分析、next数组优化及java实现
- UVALive 3026 Period KMP 失配函数处理周期的问题