如果两个算法都满足功能性需求,那工程中最关心的其他特性是什么?如何比较评判呢?
ps:性价比(效率)是工程中最关注的算法附加特性!
事后统计法
-比较不同算法对同一组输入数据的运行处理时间
-缺陷
·为了获得不同算法的运行时间必须编写相应程序
·运行时间严重依赖硬件以及运行时环境因素
·算法的测试数据的选取相当困难
事前分析估算
-依据统计的方法对算法效率进行估算
-影响算法效率的主要因素
·算法采用的策略和方法
·问题的输入规模
·编译器所产生的代码
·计算机执行速度
总结:
-算法的度量事后统计法和事前分析估算法
-时候统计法不容易准确度量算法的效率
-事前分析估算法通过操作数量度量算法效率
-判断一个算法效率只需要关注最高阶项就能得出结论