【算法】字符串匹配2 BM算法 坏字符规则 好后缀规则 python代码实现

BM算法, Boyer-Moore,非常高效,是KMP算法的3~4倍。 高能预警,此算法较难。 核心思想 匹配过程其实就是模式串在主串中不停地往后滑动。 当遇到不匹配的字符时,BF和RK算法做法是往后滑动一位,从模式串第一个字符重新匹配。 上图中,主串中的 c 其实在模式串中并不存在,所以滑动时只要与 c 有重合,肯定无法匹配。 所以可以把模式串多滑动几位,移到c后面再开始匹配。这样效率就提高了。
相关文章
相关标签/搜索