BM算法图解

  • Post author:
  • Post category:其他




BM算法的概念:

BM算法也叫做精确字符集算法,它是一种从右往左比较(后往前),同时也应用到了两种规则坏字符、好后缀规则去计算我们移动的偏移量的算法。




1、坏字符规则


基本思路图解:


首先:提供两个字符串分别是

文本串、模式串


在这里插入图片描述

因为是从右往左开始比较、为什么呢?因为这样的话如果最后一个比较不上前面的一定就可以不用比较了。

这时:c、d不匹配。所以文本串中的d是坏字符。

这时利用公式计算出**后移位数。****

 后移位数 = 坏字符的位置 - 模式串中的上一次出现位置

所以计算结果是:


6=5-(-1);


因为按数组下标计算,而且模式串中没有该坏字符,所以是(-1)。



版权声明:本文为qq_50576014原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。