1-1数据结构--算法复杂度分析

 

1、算法时间复杂度分析:

1)      原操作:定义语句、赋值语句、输入输出语句、(即非循环、顺序、分支等控制结构)

2)      频度(Tn):原操作执行的次数

3)      算法执行时间:所有(频度×Time(原操作))之和

4)      算法时间复杂度O(n):频度的数量级

5)      问题规模n:把任何要解决的问题的输入都转化成一个数组,那么数组长度就是问题规模。

6)      O(1):即常数阶,一个算法中没有循环或是循环跟问题规模n无关,比如算法中只有定义、赋值、输入输出语句时。

7)     O(1)<O( log2n )<O(n)<O(nlog2n )<O( n^2)<O(n^3 )<O(2^n )<O(n!)

8)     多项式时间复杂度:O(log2n )、O(n)、O(nlog2n )、O( n^2)、O(n^3 )

9)      指数时间复杂度:O( 2^n)、O(n!)

10)   P问题:可以用多项式时间复杂度的算法解决的问题

11)   NP问题:只能用指数时间复杂度解决的问题

12)   NP=P:想办法将NP问题转化为可以用多项式时间复杂度的算法去解决。

13)   求和定理: (n)+ (n) =max{ (n), (n)}

14)   求积定理: (n)× (n)= O( f( n )×g( n ) )

15)   根据输入实例的不同,分为最好、最差、平均时间复杂度

16)   递归算法时间复杂度分析(未解决)

 

2、算法空间复杂度分析:

1)      算法的存储量:程序本身占用的空间、输入数据占用的空间、临时变量占用的空间

2)      算法空间复杂度:临时变量占用的空间

3)      临时变量:函数体内定义的变量,不包括形参,也是以数量级的形式

4)      递归算法空间复杂度分析(未解决)

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值