赞
踩
事后统计算法运行时间无法排除与算法本身无关的外界因素;
如:机器性能、编程语言、机器指令质量以及有些算法不能事后统计。

完整列出算法运行时间的表达式之后,我们可以发现,当问题规模n趋于无穷大时:
(1) 可以只考虑阶数高的部分;
(2)此部分常数项系数可以忽略


加法规则:多项相加,
只保留最高阶的项,且系数变为1。
乘法规则:多项相乘,都保留。

“常对幂指阶”


1、
顺序执行的代码(不在循环体内的语句)只会影响常数项,可以忽略
2、只需挑选循环中的一个基本操作分析他的执行次数与n的关系即可
3、如果有多层嵌套循环,只需关注最深层循环循环了几次
1、
找到一个基本操作(最深层循环)
2、分析该基本操作的执行次数x与问题规模n的关系x=f(n)
3、x的数量级O(x)就是算法时间复杂度T(n)




步骤:
列出循环执行次数x与问题规模n的关系;
解出x=?n


我们一般只研究算法的最坏时间复杂度和平均时间复杂度


Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。