码迷,mamicode.com
首页 > 编程语言 > 详细

KMP (next数组的性质及证明)

时间:2016-10-19 16:37:56      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

性质:如果len%(len-next[len-1])==0,则字符串中必存在最小循环节,且循环次数即为len/(len-next[len-1]);

证明:在前len个字符组成的字符串,存在最小循环节k,那么next[len-1]=len-k;为什么呐?因为next数组的定义就是最大前后缀相同的子串的长度,len的总长度减去最小循环节,比如有3个循环节,减去一个剩下两个,就是最大循环节)那么循环次数就是len/(len-next[len-1]);因为len-next[len-1]=k;所以得出公式;

 

KMP (next数组的性质及证明)

标签:

原文地址:http://www.cnblogs.com/wuwangchuxin0924/p/5977503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!