f=(log n)/ (log(log n))
的顺序是多少?
f= O(log n)
?那是为什么?
h=(log n) * (log log n)
的顺序是什么?
它也是h= O(log n)
吗?为什么这是正确的?
答案 0 :(得分:0)
f= O(log n)
?
是
它也是
h= O(log n)
吗?
没有
<强>证明:强>
使用正式定义:
f(n)= O(g(n))表示存在正常数c和n0,因此对于所有n≥n0,0≤f(n)≤cg(n)。对于函数f,c和n0的值必须是固定的,并且不能取决于n。
f = O(logn) <=> (log n)/ (log(log n)) = O(logn)
因此,您需要找到所有c
的{{1}}和n0
0 ≤ (log n)/ (log(log n)) ≤ c*logn
。我们假设对数基数为n ≥ n0
(实际上并不重要,但您可以考虑b
中的b
。如果您为所有{2,e,10}
选择c=1
和n0=b^b^2
,0 ≤ (log n)/ (log(log n)) ≤ logn
。
n ≥ b^b^2
和log n ≥ log b^b^2 = b^2 ≥ 0
log(log n) ≥ log(log b^b^2) = 2 ≥ 0
和log(log n) ≥ 1
。与第一个证明相似,您需要证明您不能选择log(log n) ≥ log(b^2) = 2 ≥ 1
和c
,以便n0
适用于所有(log n) * (log(log n)) ≤ c*logn
。对于较大的n ≥ n0
,它变为n
,因为(log(log n)) ≤ c
不能是log n
。很明显,您无法选择0
因为c
不适用。