我尝试用对数规则解决这个问题:
O(n ^ 2)= 2 ^ O(log(n ^ 2))
c * n ^ 2 = 2 ^ log(n ^ 2c)
我不确定这是真的吗?
答案 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提升到未知但有限的权力。