o(nlogn)+o(n)是什么?
我猜是O(nlogn)?
f1(n)=o(nlogn)表示对于每个常数c,存在n0,使得0F2(n)=O(n)意味着存在常数c1,对于n> N1,0 所以,我能得到的就是,有一个常数c1,对于n>max(n0,n1),0

最佳答案

让我们看看这些函数及其和的渐近极限。
第一,上限:

F1 = o(n*log(n)), F2 = O(n) = o(n*log(n)), so
F1 + F2 = o (n* log(n))

第二,下限:我们知道F2是O(N),但是F1可以是0,或者介于0和N*log(N)之间的任何地方所以我们可以确定的是f1+f2不是o(n)。
我会让你把“每个常数C”都放在一个索引n中。
编辑:道格拉斯指出,“大哦”和“小哦”只是上界,严格来说,你根本不能说下界。这是绝对正确的。
然而,在大多数情况下,我们真正关心的是最坏的情况,没有人说sqrt(n)=o(n)–,这在技术上是正确的。所以是的,我们可以讨论下界,在某种意义上,如果我们指的是最坏的情况。

关于performance - O(n)+ o(nlogn)是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29878982/

10-09 08:27