图解BM算法

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

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

图解BM算法_第1张图片

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

图解BM算法_第2张图片

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

图解BM算法_第3张图片

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

图解BM算法_第4张图片

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

图解BM算法_第5张图片

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

你可能感兴趣的:(DS与算法)