数据结构与算法-算法分析(2)

算法和算法分析

对于同一个问题可能由不同的算法。究竟来如何评价这些算法
在这里插入图片描述
一个算法首先要具备正确性,健壮性,可读性和有穷性,然后我们再比较其算法的效率,来评判算法的优劣。
主要从时间和空间上的效率进行评价算法,二时间和空间往往是矛盾的
在这里插入图片描述

算法的时间

算法时间效率可以依据该算法编制的的程序在计算机上执行所消耗的的时间来衡量,一般有两种度量方法:(1)事后统计,将算法实现,测算其时间和空间开销,结果依赖于计算机的硬件环境,掩盖算法本身的优劣;(2)事前分析,对算法资源消耗的一种估算方法,
事前分析
在这里插入图片描述
在这里插入图片描述
每条语句执行的次数也叫做语句的频度
在这里插入图片描述
这就可以脱离计算机性能来讨论算法性能了。

举例

在这里插入图片描述
我们把算法所耗费的时间记为算法每条语句所执行的频度之和,上述算法的时间复杂度为:
在这里插入图片描述
这是一个关于N的多项式
为了方便比较两个算法的时间性能,我们只比较时间复杂度的数量级即可:
在这里插入图片描述
这是数学分析上的知识,当然理工科同学在高等数学上应该学过
在这里插入图片描述
一般情况下,我们在分析时间复杂度时只需要考虑基本操作的执行次数,也就是最内层循环的执行次数即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值