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

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


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

求解!
...全文
1197 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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不错,如果模式串较短,差不了多少

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧