各种文本编辑器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法,效率非常高。
算法简介
在 1977 年,Robert S. Boyer (Stanford Research Institute) 和 J Strother Moore (Xerox Palo Alto Research Center) 共同发表了文章《A Fast String Searching Algorithm》,介绍了一种新的快速字符串匹配算法。这种算法在逻辑上相对于现有的算法有了显著的改进,它对要搜索的字符串进行倒序的字符比较,并且当字符比较不匹配时无需对整个模式串再进行搜索。
Boyer-Moore 算法的主要特点有:
对模式字符的比较顺序时从右向左;
预处理需要 O(m + σ) 的时间和空间复杂度;
本文详细介绍了Boyer-Moore算法,包括其主要特点、预处理的坏字符和好后缀启发式方法。通过图例分析展示了如何利用坏字符规则和好后缀规则进行字符串匹配,提高匹配效率。
订阅专栏 解锁全文
143

被折叠的 条评论
为什么被折叠?



