事后统计方法
1)主要通过设计好的程序和数据,利用技术机对不同算法的编译的程序的运行时间进行比较,从而确定算法的效率
2)缺点
需要事先编好程序,花费大量时间精力
编译出来也可能是一个糟糕的算法,浪费时间精力
时间的比较依赖计算机软件等环境因素
所用的操作系统,编译器,运行框架也会影响结果
算法的测试数据设计很困难
程序运行时间与测试数据规模有关
事前统计方法(重要)
1)在计算机程序编译前,依据统计方法对算法进行估算
2)一个程序的运行时间决定于
1,算法采用的策略,方法
2,编译产生的代码质量
3,问题的输入规模
4,机器执行指令的时间
3)其中算法采用的策略,方法是算法时间的主要决定因素,算法好坏的根本
4)我们关注的是量级,也就是最能反映该算法的复杂度的那项
5)基本操作可以反映量级和算法的复杂度,这个基本操作必须是最内层的语句