简介 本篇文章主要分为两个大的部分,第一部分通过图解的方式讲解BM算法,第二部分则代码实现一个简易的BM算法. 基本概念 bm是一个字符串匹配算法,有实验统计,该算法是著名kmp算法性能的3-4倍,其中有两个关键概念,坏字符和好后缀. 首先举一个例子 需要进行匹配的主串:a b c a g f a c j k a c k e a c 匹配的模式串:a c k e a c 坏字符 如下图所示,从模式串最后一个字符开始匹配,主串中第一个出现的不匹配的字符叫做坏字符. 好后缀 如下图所示,从模式串最后