O( sqrt(n) ) = O(n) ?
我们应该找到c和n0验证: 0(sqrt(n))< c * n; c> 0且n> n0
如何找到c和n0?还是我应该找到另一个想法?
由于
答案 0 :(得分:1)
对于n > 1
,我们有√n > 1
,因此我们有以下不等式:
√n < √n * √n = n, for any n > 1.
所以我们可以取c = 1和n 0 = 2来证明√n= O(n)。
严格地说,你应该避免写下像O(√n) = O(n)
这样的东西。 Big-O表示法用于描述函数的渐近上界,但O(√n)
不是函数。
O(√n) = O(n)
滥用符号,实际上意味着以下内容:
If f is a function such that f(n) = O(√n), then f(n) = O(n).
在我们的情况下,如果对于任何函数 f ,我们f(n) = O(√n)
为√n < n
n > 1
,那么f(n) < c * √n < c * n
显然为n > 1
任何f(n) = O(n)
,因此{{1}}。