数据结构——时间复杂度

一、算法效率的度量

(1)事后统计的方法

内容:计算机有计算程序运行时间的功能,我们可以运行完程序后查看程序的运行总时间,以此来判断程序的运行效率。
缺点:①易受环境因素的影响:计算机硬件和软件性能、编程语言的先进程度。②有些算法是不能事后统计的:导弹轨迹控制算法等

(2)事前分析评估的方法

通常我们写了一个程序该这么判断算法的好坏呢?
最直观的就是看该算法执行总时间。在这里我们排除其他环境影响(设每条指令执行的时间是相同的)
那么:

  1. 一条指令的执行时间 = 该指令的执行次数 × 指令执行的时间
  2. 程序的执行时间 = 指令的数量 × 一条指令的执行时间
    由于我们设每条指令执行的时间是相同的,则程序的执行时间与指令总的执行数量是成正相关的。

算法的时间度量: T ( n ) = O ( f ( n )) 算法的时间度量:T(n)= O(f(n)) 算法的时间度量:Tn=Ofn))

**

计算时间复杂度的规则

**
①加法:多项相加,保留最高项,系数变为1
②乘法:多项相乘,都保留
③数量级从上至下依次增大
O(1)<
结论1:顺序执行的代码只会影响常数项,可以忽略
结论2:只需要分析循环中的一条基本操作与n的关系
结论3:多层循环嵌套,只关注最深层的循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值