数据结构:时间成本,大O表示法

时间:2012-12-11 06:03:19

标签: algorithm big-o

  

对于大问题规模,时间成本O(2^n)的算法比算法快   时间成本为O(N^2)

这是真还是假?

我认为如果C ^ n,C =常数且C> 1,那么它会比它增长得更快 O(N ^ 2)。这是对的吗?

4 个答案:

答案 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参考。

enter image description here

答案 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增长得快。