数据结构复习资料,java数据结构期末考试

数据结构复习资料,java数据结构期末考试

第二章 算法分析

1.算法分析是计算机科学的基础

2.增长函数表示问题(n)大小与我们希望最优化的值之间的关系。该函数表示了该算法的时间复杂度或空间复杂度。增长函数表示与该问题大小相对应的时间或空间的使用

3.渐进复杂度:随着n的增加时增长函数的一般性质,这一特性基于该表达式的主项,即n增加时表达式中增长最快的那一项。

4.渐进复杂度称为算法的阶次,算法的阶次是忽略该算法的增长函数中的常量和其他次要项,只保留主项而得出来的。算法的阶次为增长函数提供了一个上界。

5.渐进复杂度:增长函数的界限,由增长函数的主项确定的。渐进复杂度类似的函数,归为相同类型的函数。

6.只有可运行的语句才会增加时间复杂度。

7. O() 或者 大O记法:与问题大小无关、执行时间恒定的增长函数称为具有O(1)的复

数据结构复习资料,java数据结构期末考试

8.所有具有相同阶次的算法,从运行效率的角度来说都是等价的。

9.如果算法的运行效率低,从长远来说,使用更快的处理器也无济于事。

10.要分析循环运行,首先要确定该循环体的阶次n,然后用该循环要运行的次数乘以它。(n表示的是问题的大小)

11.分析嵌套循环的复杂度时,必须将内层和外层循环都考虑进来。 12.方法调用的复杂度分析:

如:public void printsum(int count){

int sum = 0 ;

for (int I = 1 ; I < count ; I++)

sum += I ;

System.out.println(sun); }

printsum方法的复杂度为O(n),计算调用该方法的初始循环的时间复杂度,只需把printsum方法的复杂度乘以该循环运行的次数即可。所以调用上面实现的printsum方法的复杂度为O(

n

2

)。

13指数函数增长 > 幂函数增长 > 对数函数增长

数据结构复习资料,java数据结构期末考试相关文档

最新文档

返回顶部