1、复杂度分析的主要方法

1)迭代:技术求和

2)递归: 递归跟踪+递推方程

3)猜测+验证

 

2、常见复杂度

1)算数级数: 与末项平方同阶

T(n) = 1+2+3+……+n = n(n+1)/2 = ο(n2)

2)幂方级数 : 比幂次高出一阶

T2(n) = 12 + 22 + 32 + …… +n2 = n(n+1)(2n+1)/6 = Ο(n3)

T3(n) = 1+ 23 + 33 +…… + n3 = n2(n+1)2/4 = Ο(n4)

T4(n) = 14 + 24 + 34 + …… + n4 = n(n+1)(2n+1)(3n2+3n-1)/30 = Ο(n5)

3)几何级数( a>1 ):与末项同阶

Ta(n) = a0+a1+a2+……+an = (an+1-1)/(a-1) = Ο(an)

例如: 1+2+4+8+……+2n = 2n+1-1=Ο(2n+1)=Ο(2n)

4)收敛级数

1/1/2+1/2/3+1/3/4+……+1/(n-1)/n=1-1/n=Ο(1)

1+1/22+……+1/n2 = 2/6 = Ο(1)

1/3+1/7+1/8+1/15+1/24+1/26+1/31+1/35+…… = 1 = Ο(1)

5)可能未必收敛,但是长度有限

h(n)=1+1/2+1/3+1/4+……+1/n = Θ(logn)                     //调和级数

log1+log2+log3+……+logn = log(n!) = Θ(nlogn)           //对数级数

posted on 2018-11-11 15:16  迷心迷  阅读(352)  评论(0编辑  收藏  举报