首页 > 其他 > 详细

关于KMP

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

想起以前NOIP考试前死记硬背,然而并没有什么……

字符串匹配很容易就能写出蛮力算法,即枚举主串中每个位置,把模式串放在这个位置,然后依次比对每一位,比对到不同的地方马上往后跳

技术分享图片

运气好(数据随机、构成字符串的字符种类多),仅仅一次比对就可以发现错误,可是对于最坏情况就会浪费很多时间(如直到最后一个才成功),虽然这样的情况很少,导致期望水平都是线性,但某些条件下不好的情况还是多一些……比如DNA序列中只有四个字母,浪费时间的几率就会增加

因此需要把模式串快速移动到某个位置,使到匹配失败的前缀等于已经匹配了的某个后缀,如上图第一行后缀与最后一行前缀

为了不漏掉中间的这种情况,需要保证匹配得最长

鸽了:(

关于KMP

原文:https://www.cnblogs.com/sahdsg/p/10865489.html

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