- 运行时间分析的基本策略是从内部(或最深层部分)向外展开工作的
- 如果有方法调用,那么首先分析这些调用
- 如果有递归过程那么存在几种选择
典型的增长率:
函数 | 名称 |
---|---|
c | 常数 |
logN | 对数 |
logN的平方 | 对数平方 |
N | 线性 |
NlogN | |
N的平方 | 二次 |
N的立方 | 三次 |
2的N次方 | 指数 |
法则一:for循环:
一个foir循环的运行时间至多是该for循环内部那些语句(包括测试)的运行时间乘以迭代次数
法则二:嵌套的for循环:
从里向外分析这些循环
在一组嵌套循环内部的一条语句总的运行时间为该语句的运行时间乘以该组所有的for循环的大小的乘积
程序片段 0(N*N)
for(i =