哪个更大? O(log * n)或O(loglog n)

时间:2013-11-21 02:32:58

标签: algorithm

时间复杂度 O(log * n) O(loglog n)之间存在混淆,并想知道哪一个更大。

任何帮助?

2 个答案:

答案 0 :(得分:3)

在某个阈值之后,

O(log* n)O(log log n)更快。

log* n表示在log*(log n)到达之前需要做多少次log(log n)。 1.因此,从log Nn = 2^512< log*n之前剩下的内容将是1 + log* 1

所以这个值的计算是递归的。

对于log log n
{{1}}会给你4个 其中{{1}} = 5.17

答案 1 :(得分:0)

O(log*N) < O(loglogN)获得足够大的输入。 log * n定义为取数字的对数,直到它达到1. log * n的反函数是2到2的幂的塔,其增加得非常快,因此log * n增长非常慢。例如log*(2^65536) = 5。在比较中,loglogn的增长速度比log*n的增长速度快log(log(2^65536)) = log(65536) = 32

Proof:- log*n < loglogn for sufficiently large n

log*n = log*(log(n)) + 1

log*(log(n)) + 1 < log(logn)   

Can easily prove that log*(n) + 1 < logn
replacing n by logn
log*(logn) + 1 < log(logn)
log*(n) < log(logn)