对于大问题规模,时间成本
O(2^n)
的算法比算法快 时间成本为O(N^2)
这是真还是假?
我认为如果C ^ n,C =常数且C> 1,那么它会比它增长得更快 O(N ^ 2)。这是对的吗?
答案 0 :(得分:2)
Yes, c^n grows faster than n^2, if c>1
if c=1 then c^n =1
if c<1 then c^n "decays"
Proof for c>1
let t(n) = (c^n)/(n^2)
now lim n-> infinity t(n) = (By L'Hospitals Rule) = lim (d/dn c^n) / lim(d/dn n^2)
= lim (d/dn c^n lg n) / lim(d/dn 2n)
= lim (d/dn c^n lg n * lg n) / lim(d/dn 2)
-> infinity.
因此,通过http://en.wikipedia.org/wiki/Big_O_notation#Related_asymptotic_notations中描述的属性,我们说n ^ 2变慢了。
答案 1 :(得分:1)
对于大问题规模,时间成本为O(2 n )的算法比时间成本为O(n 2 )的算法要快。
FALSE ,因为2 n &gt;对于n> n 2 ; 4,更大意味着更慢。
对于C =常数和C> 1,C n 比O(n 2 )生长得快。
<强> TRUE 强>
Here是Wolfram | Alpha参考。
答案 2 :(得分:1)
这显然是假的。您可以通过N
的不同值的反复试验来说服自己。
2^5 = 32 versus 5^2 = 25
2^6 = 64 versus 6^2 = 36
2^7 = 128 versus 7^2 = 49
如您所见,指数的增长速度远快于二次方。
为证明这一说法,我会使用N=5
基本情况的归纳法。这一步是留给读者的练习。
答案 3 :(得分:0)
是的,c ^ n比n ^ 2增长得快。