log(n)和log(log(n))之间的复杂性

时间:2014-06-04 12:09:04

标签: algorithm

我想知道log(n)和log(log(n))之间的复杂性类别?我的模拟结果与0(log(n))松散地绑定,并且它也不适合0(log(log(n)))。所以告诉我它们之间的一些中间复杂性类。

1 个答案:

答案 0 :(得分:1)

有无数个类在“O(logn)O(loglogn)之间 - 例如 - 查看函数族:{ f_k(n) = (log(n))^k | k < 1 }(注意,这个函数族仅仅是无穷大)。

对于上面定义的每个f_k,很容易看到f_k位于O(logn)但不在O(loglogn)中,并且实际上定义了一个新类函数O(f_k),它是O(logn)的不等子集,但不是O(loglogn)的子集。

此类函数f_k的一个示例是f_1/2 = sqrt(log(n))


通过引入新的变量x=log(n)来证明上述声明很容易,然后你得到:

f_k(n) = (log(n))^k = x^k

这是一个已经解决的问题

O(loglogn) = O(log(x)) < O(x^k) < O(x) = O(logn)