证明logn为O(2 ^ sqrt(logn))

时间:2017-02-06 14:45:37

标签: algorithm big-o asymptotic-complexity logarithm

我从log n< = c.2 ^ sqrt(log n)开始,但无法达到所需的解决方案。

3 个答案:

答案 0 :(得分:1)

n -> inf的{​​{1}}限制必须为log n / 2^sqrt(log n),才能使其成为现实。

申请L'Hospital获得:

!= inf

当你接近 1 - n ----------------------------------------- = 2^sqrt(log n) * log 2 * 0.5 * (1 / sqrt(log n)) * (1 / n) 1 = -------------------------------- = 2^(sqrt(log n)) * log 2 * 0.5 * (1 / sqrt(log n)) = let u = sqrt(log n) = = u / [2^u * log 2 * 0.5] 的无穷大时,限制为u / 2^u,证明了我们所追求的目标。

Wolfram confirms it

答案 1 :(得分:1)

lg(x)< sqrt(x)表示大x。因此,lg(log n)< sqrt(log n)表示大n(用log n代替x)。

将2增加到两侧的幂得到结果:log n< 2 ^ sqrt(log n)表示大n。

答案 2 :(得分:0)

使用变量替换,这很简单。

  1. 允许m=lg(n),我们需要展示m=O(2^sqrt(m))
  2. 再次让N=sqrt(m),现在归结为显示N^2=O(2^N)

  3. 显示最后一个很容易,因为polynomials在增长率方面受exponential函数的限制。

  4. 我们上面使用的所有功能都严格单调增加。