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

KMP算法

时间:2018-03-16 00:18:26      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:www.   .net   图片   分享图片   blog   www   bf算法   htm   net   

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算法

标签:www.   .net   图片   分享图片   blog   www   bf算法   htm   net   

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

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