首页 > 编程语言 > 详细

KMP算法

时间:2018-03-15 23:31:51      阅读:393      评论:0      收藏:0      [点我收藏+]

Kmp算法和BF算法的区别在于不需要把“搜索位置”移动到已经比较过的位置。

 例子-->

技术分享图片

移动位数 = 已经匹配的字符数 - 对应匹配部分字符串前缀和后缀共有长度

如以上主串中的“abab”和目标串中的“abad”,已经匹配的字符数为3(“aba”),

“aba”的前缀为[a,ab],后缀为[ba,a]。共有“a”的长度为1 ,移动位数=3-1=2;

因此目标串中的匹配字符串前缀和后缀信息是固定的,我现在只需要把这个信息放在一个数组里

 

参考-->

1-> http://blog.csdn.net/hyjoker/article/details/51190726

2-> https://www.cnblogs.com/huangxincheng/archive/2012/12/01/2796993.html

 

KMP算法

原文:https://www.cnblogs.com/ouyangping/p/8577077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!