2017-08-03 44 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算法很難完全正確。星期天的變體也不是完全無關緊要,但它仍然比較簡單。

相關問題