图解BM算法

         BM算法是Boyer-Moore算法的简称,由Boyer 和Moore提出。被认为在一般的应用中为最有效的字符串匹配算法。

     举例:在文本串S="A simple example"中搜索模式串T="example",BM算法是从后向前搜索首先比较S[6]和T[6],如下图:

970a70ac-ebf0-32c3-8b08-6fd16a6e7778

     匹配失败,T下标加1,继续匹配,如下图:

04b4bff3-ffdf-3ad4-a4d1-72c2588bc2ff

     这次匹配成功四个,在S[3]和T[2]相比处停下来,我们把这四个加到T前面作为辅助。如下图:

60e4b921-617c-3cce-a0b0-da69fadaf714

      T从T[0]跳到和S[4],匹配从T[9]相比S[13]开始,如下图:

74a65aef-344c-340b-ab50-42c115d756c8

      上图匹配一开始就失败,T下标加1,再匹配,又失败,再加1,匹配成功,如下图:

41c5712a-e21f-3445-ba86-fd0c29a78fcb

       算法有时间再贴出来~~(PS:那天学画图没白费,今天一下子就画好了~ 嘿嘿 ^_^)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值