BM算法是比KMP算法更快的字符串模式匹配算法.BM算法最好情况下的时间复杂度是O(n),KMP算法最好情况下的时间复杂度是O(n+m),两者最坏情况下的时间复杂度均是O(m*n).其中,n指目标串长度,m指模式串长度. KMP算法从左向右比较,通过失配时已匹配的字符信息来确定下一次匹配时模式串的起始位置.BM算法从右向左比较,运用了两种启发式规则:坏字符规则和好后缀规则,取这两种规则的跳跃距离大者作为P向右跳跃的距离. BM算法的基本流程:设目标串T,模式串为P.首先将T与P进行左对齐,然后进