数据结构与算法之美 | 学习笔记29 —— 字符串匹配BM算法

BL和RK算法中,当遇到模式串与主串不匹配时,模式串往后滑一位。

当模式串和主串某个字符不匹配的时候,能够跳过一些肯定不会匹配的情况,将模式串往后多滑动几位。
数据结构与算法之美 | 学习笔记29 —— 字符串匹配BM算法

一、BM算法原理

1. 坏字符规则

对于模式串匹配的时候,倒着匹配。当发现某个字符没法匹配时,把这个没有匹配的字符叫作坏字符(主串中的字符)。
正常情况:
数据结构与算法之美 | 学习笔记29 —— 字符串匹配BM算法
BM算法:
数据结构与算法之美 | 学习笔记29 —— 字符串匹配BM算法

2. 好后缀规则