当两个算法都能满足我们的需要时,我们在工程中更关心什么呢?
性价比(效率)是工程中最关注的算法附加特性。
怎么比较两个算法的效率呢?
1、事后统计法
比较不同算法对同一组输入数据的运行处理时间
缺陷:
为了获得不同算法的运行时间必须编写相应的程序
运行时间严重依赖硬件以及运行时的环境因素
算法测试数据的选取相当困难
2、事前分析估算
依据统计的方法对算法效率进行估算
影响算法效率的主要因素
1、算法采用的策略和方法
2、问题的输入规模
3、编译器所产生的代码
4、计算机执行速度
算法效率的简单估算1:
这里的n就是问题的规模。算法的总步骤为2n+4次。
算法效率的简单估算2:
算法的总步骤为n+2。
算法效率的简单估算3: