3.数据结构-算法效率

算法效率的度量

 

1.事后统计法:比较不同算法对同一组输入数据的运行处理时间

事后统计法虽然直观,但是实施困难且缺陷多,一般不予考虑。

2. 事前分析估算:依据统计的方法对算法效率进行估算

 影响算法效率的主要因素:
 (1).算法采用的策略和方法
 (2).问题的输入规模
 (3).编译器所产生的代码
 (4).计算机执行速度

3.统计算法运行效率

(1).O表示法
 算法效率严重依赖于操作(Operation)数量
 在判断时首先关注操作数量的最高次项
 操作数量的估算可以作为时间复杂度的估算

在没有特殊说明时,我们所分析的算法的时间复杂度都是指最坏时间复杂度。

 

4.算法的空间复杂度

算法的空间复杂度通过计算算法的存储空间实现
S(n) = O(f(n))
其中,n为问题规模,f(n)为在问题规模为n时所占用存储空间的函数

大O表示法同样适用于算法的空间复杂度
当算法执行时所需要的空间是常数时,空间复杂度为O(1)

5.空间与时间的策略

多数情况下,算法执行时所用的时间更令人关注如果有必要,可以通过增加空间复杂度来降低时间复杂度

 同理,也可以通过增加时间复杂度来降低空间复杂度

 

posted @ 2018-08-23 16:10  西贡小傻  Views(496)  Comments(0Edit  收藏  举报