您的位置:首页 > 理论基础 > 数据结构算法

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

2018-01-27 10:17 225 查看
 
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)      递归算法空间复杂度分析(未解决)
 
 
 
 
 
 
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构与算法