f(n)=(log(n))^log(n)
g(n)= n/log(n)
f = O(g(n))
?
对两边同时取对数:
log(f(n)) = log(log n) * log n
log(g(n)) = log(n) - log(log(n)) = log(n)(1 - log(log(n))/log(n))
显然log(log(n))占优势,所以g是O(f)。f不是O(g)。由于这是作业,你可能需要填写细节部分。
只需尝试大一些的数字,就可以很容易地获得答案的想法。1024是2的10次方,因此取n=1024:
f(n) = 10^10
g(n) = 1024/10。
显然这并不是一个证明,但我认为我们可以看出谁赢了这场比赛。
Mathematica 给出当 n
趋近于无穷大时的 f(n) / g(n)
的极限为无穷大,这意味着 f
增长得更快。这表明 g(n) 属于 (=) O(f(n))
。
如果你没有 Mathematica,可以使用 this 作为示例。
f
远远大于 n^loglog(n) -1 . log n
f=O(g(n))
,那么n
是一个常数吗?如果不是,为什么不是f(n)=O(g(n))
?还是f
与f(n)=(log(n))^log(n)
相关? - Lasse V. Karlsen