Boyer-Moore算法中的移位规则


关于

这个算法中的两个转换规则(坏字符和好后缀),我无法弄清楚一些事情。他们是否在一起工作,以及究竟是什么决定了在每种情况或班次中部署哪一个。这个全面的解释以一个让我感到困惑的SSIMPLE EXAMPLE的例子结束,我在这里的问题,如果算法向后移动,为什么算法需要良好的后缀移位才能向右移动?我确定我在这里错过了一些东西。你能帮我解释一下上述例子吗?

缺少的一点是算法在模式而不是字符串上向后移动,因此比较从索引 n 的字符(n 是模式长度)而不是从索引 1 开始。 下面的可视化示例非常有助于阐明这一点。

最新更新