数据结构学习笔记:算法复杂度的度量之“大O记号”

分析算法复杂度的非常重要的方法:大O记号!!
下面来让我们看一下到底什么是大O记号

举个例子:
用一个直尺去评价算法复杂度,上面的刻度就相当于大O记号,我们不一定要一味的强调刻度的精细程度,没有必要。能大致反映出算法的复杂度即可
在这里插入图片描述T(n)是一个相对比较精细复杂的函数,通过对其进行简化,成为一个近似表达T(n)的函数f(n),f(n)是T(n)的一个上界函数,粗略的表示了T(n),如下所示。O(f(n))就表示了算法T(n)在规模n下的复杂度,称为一个大O记号!
在这里插入图片描述下面来看一下其他的记号
在这里插入图片描述
接下来详细开始讲一下所有大O记号的情况

第一种:常数复杂度O(1)。
在这里插入图片描述第二种:对数多项式复杂度O(logn)。
在这里插入图片描述第三种:多项式复杂度O(n^c)。
在这里插入图片描述第四种:指数复杂度O(2^n)。这种复杂度及其高,通常不可忍受
在这里插入图片描述举一个例子:2-subset问题
在这里插入图片描述
在这里插入图片描述最后,让我们再看看各种大O记号复杂度的增长速度和复杂度的层次,明显可以看出指数复杂度后期的增长速度极快
在这里插入图片描述在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值