gpt4 book ai didi

algorithm - 如果 m
转载 作者:塔克拉玛干 更新时间:2023-11-03 03:35:07 25 4
gpt4 key购买 nike

我正在阅读 Rabin-Karp维基百科上的算法,里面提到的时间复杂度是O(n+m)。现在,根据我的理解,m 必然在 0 和 n 之间,所以在最好的情况下,复杂度是 O(n),在最坏的情况下,它也是 O(2n)=O(n),所以为什么不呢只是 O(n)?

最佳答案

基本上,Robin-Karp 将其渐近表示法表示为 O(m+n),以此表达相对于 m+n 花费线性时间这一事实而不仅仅是 n。本质上,无论何时使用渐近符号,变量 mn 都必须具有某种含义。对于 Robin-Karp 算法,n 表示文本的长度,m 表示文本和模式的组合长度。请注意,O(2n)O(n) 的含义相同,因为 O(2n) 仍然是 只是 n。然而,在 Robin-Karp 的例子中,m+n 并不是真正的 just n 函数。相反,它是 mn 的函数,它们是两个独立的变量。因此,O(m+n)O(n) 的含义与 O(2n) 的含义不同> 等于 O(n)

我希望这是有道理的。 :-P

关于algorithm - 如果 m<n,O(n+m) 和 O(n) 符号是否等价?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54340597/

25 4 0

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