KMP算法为什么比BM算法实际性能差3-5倍?

jovial__ 2010-07-25 10:19:46
KMP算法为什么比BM算法实际性能差3-5倍?


我用较大数据进行测试(9M大小文本,查找1000多个模式串的总时间比较),发现kmp算法比bm算法慢3-5倍。这是为什么呢?明明理论上效果要好的,为什么会差呢?

求解!
...全文
406 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
showjim 2010-10-25
BM属于贪心算法,适应于实际应用。
KMP是稳定算法,不在乎特例。
一般的BM算法很容易构造m*n的特例,不过实际应用中比较少见。当然BM算法也可以改造成稳定的,构造模式比KMP需要多一些时间。
回复
henry11 2010-10-25
说明你的测试数据不是足够大
回复
lzc52151 2010-10-25
楼主记混了吧,一般情况下,BM要快点.
回复
xmx2009 2010-07-29
没试过,帮顶
回复
fanster28_ 2010-07-25
模式串比较长时的时候bm不错,如果模式串较短,差不了多少
回复
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
社区公告
暂无公告