2017-08-03 40 views
-1

enter image description here为什么在文本编辑器的查找功能中选择“BM算法”而不是“星期日算法”?

在随机字符下,Sunday算法比bm算法更快。

那么,为什么在文本编辑器的Find函数中选择“BM算法”而不是“Sunday算法”呢?

+0

也许是由于能见度有限。 * D.M。周日:一个非常快的子串搜索算法。 ACM的通讯,33,8,132-142(1990)*?或者是因为像BM-Horspool一样对BM进行了改进,并被称为BM? – greybeard

回答

0

有没有简单的答案,为什么你会选择一个在另一个。 “BM”是指“Boyer-Moore”。 “星期日”算法是指周日的Boyer-Moore-Horspool变体。你可以从名字中猜出,星期天的Boyer-Moore-Horspool变体和Boyer-Moore非常相似。

事实上,人们选择星期日变体的主要原因与执行速度无关。相反,它的实现相当简单。最初的Boyer-Moore算法很难完全正确。星期天的变体也不是完全无关紧要,但它仍然比较简单。

相关问题