算法复杂度分析之常见的算法复杂度的大O阶

符号Ο的定义

如果存在正的常数C和自然数N0 ,使得当N>= N时有f(N)<=Cg(N),则称函数f(N)当N充分大时上有界,且g(N)是它的一个上界,记为f(N)=O(g(N))。

符号Ω的定义

如果存在正的常数C和自然数N0 ,使得当N>= N时有f(N)>=Cg(N),则称函数f(N)当N充分大时下有界,且g(N)是它的一个下界,记为f(N)= Ω(g(N))


O(1):表示算法的运行时间为常量时间

O(logn):二分法查找等算法

O(n):线性算法,例如线性查找

O(nlogn):快速排序、归并排序等算法

O(n2):对数组进行排序的简单算法,例如冒泡排序等

O(n3):做两个n阶矩阵的乘法运算

O(2n):求具有n个元素集合的所有子集的算法

O(n!):求具有n个元素的全排列的算法

附例题:

        1.求下列函数的渐进表达式,用大O表示。

        (1)3n2+10n    O(   n2  )

        (2)n2/10+2n     O(  2 n   )

        (3)21+1/n     O(   1  )

        (4)logn3          O(   logn  )

        (5)10log3n    O(  n   )

        2.按照渐进阶从低到高的顺序排列以下表达式:

                10n2      logn     5n    10n   10    n2/3      n!

        排列顺序如下:

                        10<logn<n2/3<10n<10n2<5n<n!


如有错误,欢迎指正

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淸睇岱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值