O表示法:2 ^ log(O(n ^ 2))= 2 ^ O(log(n ^ 2))?

时间:2015-01-04 17:14:33

标签: math big-o time-complexity

我尝试用对数规则解决这个问题:

O(n ^ 2)= 2 ^ O(log(n ^ 2))

c * n ^ 2 = 2 ^ log(n ^ 2c)

我不确定这是真的吗?

2 个答案:

答案 0 :(得分:1)

我认为这取决于等号在这里意味着什么。如果等号表示

"任何2 log O(n 2 的函数也是2 O(log n 2 "

然后声称是真的。设f(n)为o(n 2 )的函数。这意味着有&#sac;和 0 ,这样对于任何n≥n 0 ,我们知道f(n)≤cn 2 。因此,对于任何n≥n 0 ,我们知道

  

2 log f(n)≤2 log(cn 2 = 2 (log c + log n 2

函数log c + log n 2 本身就是O(log n 2 ),所以我们看到了

  

2 log f(n)≤2(log c + log n 2 = 2 O(log n < SUP> 2

另一方面,如果等号表示

&#34; 2 log O(n 2 的函数类是2 O(log n)的相同类函数 2 &#34;

然后声称是错误的。例如,函数n 4 在第二类中,因为它可以写成2 2 log n 2 ,但它&#39;不在头等舱。

希望这有帮助!

答案 1 :(得分:1)

不,不,不。你不能只拿对数。

2 ^ log(O(n ^ 2))= 2 ^ log(c * n ^ 2))= c * n ^ 2

2 ^ O(log n ^ 2)= 2 ^(c * log n ^ 2)=(2 ^(log n ^ 2))^ c =(n ^ 2)^ c。

第一个是O(n ^ 2)。第二个是n提升到未知但有限的权力。