zoukankan      html  css  js  c++  java
  • 渐进符号 阶

    渐近符号

    基本的渐近符号:
    O 表示上界,即小于等于 ≤

    o 表示小于   <

    Ω 表示下界,即大于等于 ≥ (与O相反)

    ω 表示大于 >   (与o相反)

    Θ 表示渐近等于 =

    O( f(n) ) : 给出了算法运行时间的上界 , 也就是最坏情况下的时间复杂度
    Ω( f(n) ) : 给出了算法运行时间的下界 , 也就是最好情况下的时间复杂度
    θ ( f(n) ) : 给出了算法运行时间的上界和下界 , 这里 θ ( f(n) ) 是渐进的确界

    渐近符号O (大)

    定义 :对于f(n) = O(g(n)),表示存在适当的常数 C > 0,no>0,使得 f(n) ≤ C·g(n),对于所有的n≥no  有 f(n)≤cg(n) 。

    称为 f(n) 的阶小于 g(n) 的阶。

    可以理解为:

    f(n)是属于g(n)构成的函数集,可以定义O(g(n))为一个函数集  O(g(n)) = { f(n):存在c>0、n0>0,使得0≤f(n)≤cg(n),其中n ≥ n}

    渐近符号o (小)

    定义: f(n)=o(g(n)),当且仅当f(n)=O(g(n))  且f(n)!=Ω(g(n))。

    渐近符号Θ

    Θg(n) = Og(n)∩  Ωg(n) 。

    对于 渐近符号O (大)

    1.线性函数

    f(n)=3n+2,当n>=2时,3n+2<=3n+n=4n。

    所以f(n)=O(n),这里c = 4,n0 = 2,g(n) = n, 那么cg(n) 也就是4n 就是f(n) 的上界


    2.平方函数
    f(n)=2n^2+3n+3,当n>=3时,3n+3<=4n,当n>=4时,4n<n^2,f(n)=2n^2+n^2=3n^2。
    f(n)=O(n^2),这里c = 3,n0 = 4, g(n) = n^2 ,那么cg(n) 也就是3n^2 就是f(n) 的上界


    3.指数函数
    f(n)=6*2^n+n^2,当n>=4时,n^2<=2^n,所以当n>=4,有f(n)<=6*2^n+2^n=7*2^n。
    这里c是7,n0=4,f(n)=O(2^n)。


    4.常数阶
    f(n)=9,这里就直接记为O(1),c为9,n0为0就可以了,f(n)=9<=9*1。

  • 相关阅读:
    Redis学习——(1)Redis安装与配置
    Ubuntu14.04安装Apache2+SVN+Trac
    Ubuntu14.04配置文件Apache2.conf
    Ubuntu系统用户忘记密码
    java中无符号类型的处理[转]
    Golang 切片(slice)扩容机制源码剖析
    无线网络:无线城域网和无线广域网
    vue项目 镜像重置的命令
    批量下载阿里云rpm包
    HttpClient psot和get请求
  • 原文地址:https://www.cnblogs.com/young-children/p/11448693.html
Copyright © 2011-2022 走看看