算法同行评审

时间:2014-07-01 03:21:54

标签: big-o

所以我目前正在参加算法课,并被要求证明

Prove: ((n^2 / log n) + 10^5 n * sqrt(n)) / n^2 = O(n^2 / log n)

我在解决问题时想出了n0 = 1 and c = 5我最终得到了1 <= 5我只是想知道我是否可以让某人为我验证这一点。

我不确定这是否是适合发帖的论坛,如果它是错的我道歉,如果你能指出我正确的方向去那将是美好的。

3 个答案:

答案 0 :(得分:4)

如果我没有错,你必须证明给定函数的上限是n^2 logn。 对于very large values of n

,情况可能如此
n^2/logn >= n * sqrt(n)
n >= sqrt(n) * log(n)

由于log(n) < sqrt(n)log(n)*sqrt(n)始终小于n。因此,我们的不平等是正确的。因此,上限为O(n^2/ logn)

答案 1 :(得分:1)

您可以使用限制方法流程:

enter image description here

因此,您案例的解决方案应如下所示:

enter image description here

答案 2 :(得分:0)

假设函数fg正在增加,根据定义f(x) = O(g(x)) iff limit x->inf f(x)/g(x)是非负的。如果您将函数替换为fg,并简化表达式,您会发现该限制通常为0