gpt4 book ai didi

string - 为什么在文本编辑器的查找功能中选择 "BM algorithm"而不是 "Sunday algorithm"?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:43 28 4
gpt4 key购买 nike

enter image description here

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

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

最佳答案

对于为什么要选择一个而不是另一个,没有简单的答案。 “BM”是指“Boyer-Moore”。 “Sunday”算法是指 Sunday 的 Boyer-Moore-Horspool 变体。

正如您可能从名字中猜到的那样,周日的 Boyer-Moore-Horspool 变体与 Boyer-Moore 非常相似。

说实话,人们选择 Sunday 变体的主要原因与执行速度关系不大。相反,它的实现要简单得多。原始的 Boyer-Moore 算法很难完全正确。 Sunday 的变体也不完全是微不足道的,但它仍然要简单得多。

支持 Boyer-Moore 的论据是,虽然代码更复杂,但它减少了搜索所需的比较次数,使其非常接近绝对必要的最小值。最大的问题是它需要更多的预处理(和更多的内存)才能做到这一点。

您会发现在执行速度方面(但据我所见)在文本编辑器中使用搜索可能倾向于支持 Sunday 的 Boyer-Moore-Horspool 变体。

p>

关于string - 为什么在文本编辑器的查找功能中选择 "BM algorithm"而不是 "Sunday algorithm"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473334/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com