提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
算法的时间复杂度分析
事后分析估算方法
例如:
public class Demo1 {
public static void main(String[] args) {
long start = System.currentTimeMillis();
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println(sum);
long end = System.currentTimeMillis();
System.out.println(end - start);
}
}
在执行前和执行之后添加获取时间的方式,最后输出时间差。这种方式利用计算机计时器对不同的算法编制的程序运行时间做比较,从而确定算法效率的高低但是这种方法有很大的缺陷;必须依据算法事先编制好的程序,如果测试完成发现该算法是非常糟糕的算法,那么之前所做的时期就全部白费。
事前分析法:
在计算机程序编写前,依据统计方法对算法进行估算:
- 算法采用的策略和方案
- 编译产生的代码质量 //难以改变
- 问题的输入规模
- 机器执行指令的速度 //难以改变 </