首页 > 代码库 > KMP算法
KMP算法
KMP算法简而言之就是告诉你一个字符串是否包含另一个字符串。
对于是否包含一个字符串,大部分人想做的就是挨个判断,但是这样并不是很优,所以就有了KMP。
当你对A(被匹配)字符串和B(匹配)字符串进行匹配时,如果匹配到不匹配,那么我们要做的就是把匹配字符串B往后移,但是移动多少呢?
其实我觉得这就是关键吧。
KMP的思想就是不把“搜索位置”移回已经比较过的位置,继续把他往后移,以此提高效率。
那么具体移多少呢?
移动位数 = 已匹配的字符数 - 对应的部分匹配值
那么问题来了,部分匹配值怎么算的?
其实是根据前缀和后缀来的。
此处配上看的博客:http://www.cnblogs.com/c-cloud/p/3224788.html
留坑等以后完善
KMP算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。