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