关于Olog n²vs Olog n

问题描述

我在互联网上找不到任何可以解释O((log n 2 )相等的东西。我认为通过以下参数它等于O(log n ):

  • O(log((log n 2
    = O(log(log( n )·log n ))
    = O(log log n + log log log n
    = O(2 log log n
    = O(log log n
  • 从两侧删除一个'log'得到O((log n 2 )= O(log n ) li>

有效吗?

解决方法

您在此处提出的论点是一个有趣的论点,但不幸的是它没有用。要了解原因,让我们“证明” O(n 137 )= O(n)。为此,请注意

O(log n 137

= O(137 log n)

= O(log n)。

因此,从两端都放下日志,我们得出O(n 137 )= O(n)。

但是,那当然是不对的。原因是 是这样的情况,如果f(n)= O(g(n))然后log n = O(log g(n)),那通常不是真的log f(n)= O(log g(n))表示f(n)= O(g(n))。

关于您的第一个问题-log 2 n = O(log n)并非如此。实际上,对于任何不是O(1)的函数f,都不是f(n) 2 = O(f(n))。

,

如果A2*log(N)包围,则exp(A)exp(2*log(N))包围,exp(log(N))大于N = sendRegistrationErrorNotification。 / p>

在重新应用exp()之前,您将逻辑放在第二位的地方会崩溃。