首页 > 编程语言 > 详细

详讲KMP算法

时间:2019-10-13 13:05:00      阅读:94      评论:0      收藏:0      [点我收藏+]

两个字符串:

    模式串:ababcaba

    文本串:ababcabcbababcabacaba

KMP算法作用:快速在文本串中匹配到模式串

 

如果是穷举法的方式:

技术分享图片

 

 大家有发现,这样比效率很低的。

所以就需要使用一种高效率模式的算法:KMP算法。

 

大家有看到上面的穷举法,是一位一位的挪。那可以一次挪多位不就行了。像下面:

技术分享图片

 

 

 

 

 

 

那么为什么可以这样挪呢?  模式串向右移动的距离 = 已匹配字符数 - 失配字符的上一位字符所对应的最大长度值

那么我们要怎么找出每位上的最大长度值呢呢?   我们来找一下。

技术分享图片

 

 

所以,使用KMP算法进行挪位:

技术分享图片

 

详讲KMP算法

原文:https://www.cnblogs.com/qzhc/p/11665886.html

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