详讲KMP算法

∥☆過路亽.° 提交于 2019-12-01 07:01:17

两个字符串:

    模式串:ababcaba

    文本串:ababcabcbababcabacaba

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

 

如果是穷举法的方式:

 

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

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

 

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

 

 

 

 

 

 

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

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

 

 

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

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!