算法效率的度量

本文介绍了两种评估算法效率的方法:事后统计法与之前分析估算法。事后统计法通过实际运行程序来对比不同算法的效率,而之前分析估算法则是在程序编译前通过统计方法对算法进行估算。文章还讨论了影响算法效率的因素及算法复杂度的理论基础。

事后统计
主要通过设计好的测试程序和数据,利用计算机的计时器对不同算法的编程的程序的运行时间进行比较,从而确定算法效率的高低。
统计方法:比较不同算法对同一组输入数据的运行处理时间。
缺陷:为了获得不同算法的运行时间必须编写相应程序
运行时间严重依赖硬件以及运行时的环境因素
算法的测试数据的选取相当困难
总结:事后统计法虽然直观,但是实施困难且缺陷多

之前分析估算
在计算机程序编译前,依据统计方法对算法进行估算。
统计方法:依据统计的方法对算法效率进行估算。
影响算法效率的主要原因:
算法采用的策略和方法
问题的输入规模
编译器所产生的代码
计算机执行速度
算法推倒得理论基础:
算法最终编译称具体的计算机指令
每一个指令,在具体的计算机上运行速度固定
通过具体的步骤,就可以推导出算法的复杂度

判断算法的效率
只需要关注操作数量的最高次项,其它次要项和常数项可以忽略。
没有特殊说明,算法的时间复杂度都是指最坏时间复杂度
只有常数项记作 1
操作数量的估算可以作为时间复杂度的估算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值