问题描述
我在互联网上找不到任何可以解释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))。
,如果A
被2*log(N)
包围,则exp(A)
被exp(2*log(N))
包围,exp(log(N))
大于N
= sendRegistrationErrorNotification
。 / p>
在重新应用exp()之前,您将逻辑放在第二位的地方会崩溃。