我相信不是。定义是:
log(n) >= c*n for some n = x, and all n > x
我认为不是因为c * n = c的增长率。 log(n)的增长率= 1 / n。因此,如n->无穷大,n的增长率接近0,而c,c * n的增长率是恒定的。鉴于最终log(n)最终将比任何n * c增长得慢,其中c> 1。 0,n * c将超过log(n)。
所以,几个问题。
我非常困惑并感谢你的帮助!
答案 0 :(得分:6)
1- c不能为0或负数,所以你可以假设。
2-例如,对于每log(n)
,n
的增长率低于n > 1
的增长率。由于Ω(n)是比函数f(n) = n
“增长更多”的函数集,因此log(n)不是Ω(n)。但你可以说n =Ω(log(n)),虽然这不是渐近的紧束缚。
3-该定义指出不等式可能从一个值n0
开始有效。如果存在一些n0
,您可以这么说。但在这种情况下(log(n)=Ω(n)),它不会,因为它必须对每个n >= n0
有效。而对于任何大的价值,log(n)的增长都低于n的增长。
答案 1 :(得分:1)
不,实际情况恰恰相反。
log(n)
功能的运行时间为O(n)
[读取:上限由某个多项式fn限定,其最高阶项为n
]
fn
的运行时间为n
<{1}}
[读取:由一些多项式fn下限,其最高阶项为Ω(log(n))
]
关于你的直觉,这是完全正确的。 log(n)
仅在一个点上开会。