数据结构和算法-大O表示法

算法时间度量指标:

一个算法所实施的操作数量或者步骤可作为独立于具体程序/机器的度量指标-赋值语句

问题规模:

问题规模:影响算法执行时间的主要因素

1.在前n个整数累计求和的算法中,需要累计整数个数合适作为问题规模的指标

2.算法分析的目标是要找出问题规模会怎么 影响一个算法的执行时间

数量级函数 Order of Magnitude

1.基本操作数量函数T(n)的精确值并不是特 别重要,重要的是T(n)中起决定性因素的 主导部分

2.数量级函数描述了T(n)中随着n增加而增 加速度最快的主导部分

称作“大O”表示法,记作O(f(n)),其中f(n) 表示T(n)中的主导部分

确定运行时间数量级大O的方法

❖例1:T(n)=1+n 当n增大时,常数1在最终结果中显得越来越无足 轻重 所以可以去掉1,保留n作为主要部分,运行时间 数量级就是O(n) 

❖例2:T(n)=5n2+27n+1005 当n很小时,常数1005其决定性作用 但当n越来越大,n2项就越来越重要,其它两项 对结果的影响则越来越小 同样,n2项中的系数5,对于n2的增长速度来说 也影响不大 所以可以在数量级中去掉27n+1005,以及系数5 的部分,确定为O(n^2)

影响算法运行时间的其它因素

❖有时决定运行时间的不仅是问题规模

❖某些具体数据也会影响算法运行时间

     分为最好、最差和平均情况,平均状况体现了算法的主流性能

      对算法的分析要看主流,而不被某几种特定的运 行状况所迷惑

常见的大O数量级函数

❖通常当n较小时,难以确定其数量级

❖当n增长到较大时,容易看出其主要变化量级

 从代码分析确定执行时间数量级函数

❖仅保留最高阶项n2 ,去掉所有系数

❖数量级为O(n2)

其它算法复杂度表示法

❖大O表示法

表示了所有上限中最小的那个上限。

❖大𝛀表示法

表示了所有下限中最大的那个下限

❖大𝚹表示法 

如果上下限相同,那么就可以用大𝚹表示

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值