一、算法效率的衡量方法和准则
通常两种方法:事后统计法、事前分析估算法
1.1事后统计法
缺点:1、必须执行程序;2、其他因素掩盖算法本质
1.2事前分析估算法
1.3和算法执行时间相关的因素:
1、算法选用的策略
2、问题的规模
3、编写程序的语言
4、编译程序产生的机器代码质量
5、计算机执行指令的速度
一个特定算法的“运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),或者说,它是问题规模的函数
假设,随着问题规模n的增长,算法执行时间的增长率和f(0)的增长率相同,
记作:T(n) = O(f(n))
称T(n)为算法的(渐进)时间复杂度
二、如何估算算法的时间复杂度
算法 = 控制结构 + 原操作(固有数据类型的操作