zoukankan      html  css  js  c++  java
  • 基本算法(02)

    符号O

    • O符号,f(n) = O(g(n)),表示f(n)的复杂度最多与g(n)一个数量级,即小于等于。
    • 当我们评估一个算法,只能评估出该算法的“时间复杂度”上限的时候,就用O表示。

    符号o

    o符号,f(n) = o(g(n)),表示f(n)的复杂度要比g(n)的数量级小,即小于。

    符号Ω

    Ω符号,f(n) = Ω(g(n)),f(n)的复杂度最少与g(n)一个数量级,即大于等于。

    • 当我们评估一个算法,只能评估出该算法的“时间复杂度”下限的时候,就用Ω表示。

    符号ω

    ω符号,f(n) = ω(g(n)),表示f(n)的复杂度要比g(n)的数量级大,即大于。

    符号Θ

    Θ符号,(n) = Θ(g(n)),表示f(n)的复杂度既大于等于g(n)的复杂度,又小于等于g(n)的复杂度,即于g(n)的复杂度相等。

    性质及类比

    1. 传递性:
      f(n) = Ө(g(n)) 和 g(n) = Ө(h(n)) => f(n) = Ө(h(n))
      f(n) = O(g(n)) 和 g(n) = O(h(n)) => f(n) = O(h(n))
      f(n) = Ω(g(n)) 和 g(n) = Ω(h(n)) => f(n) = Ω(h(n))
      f(n) = o(g(n)) 和 g(n) = o(h(n)) => f(n) = o(h(n))
      f(n) = ω(g(n)) 和 g(n) = ω(h(n)) => f(n) = ω(h(n))
    2. 自反性:
      f(n) = Ө(f(n))
      f(n) = O(f(n))
      f(n) = Ω(f(n))
    3. 转置对称性:
      f(n) = Ө(g(n)) 当且仅当 g(n) = Ө(f(n))
      f(n) = O(g(n)) 当且仅当 g(n) = Ω(f(n))
      f(n) = o(g(n)) 当且仅当 g(n) = ω(f(n))
    4. 类比:
      可以类比:
      O Ω Θ o ω
      ≤ ≥ = < >
      但类比并不是等价于;同时小符号是大符号更为严格的记号,但却没有严格的小θ。
  • 相关阅读:
    Python3高级基础(2)
    Python3面向对象基础
    Python3学习策略
    Python3基础之基本问题
    Python3基础之字典
    (转)修改IIS默认的localhost名称
    (转)IIS5.1的安装配置并发布ASP.NET网站
    (转)怎样查看局域网中自己的IP地址和其他电脑的IP地址?
    (转)sql中 in 、not in 、exists、not exists 用法和差别
    (转)union和union all的区别
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/12695613.html
Copyright © 2011-2022 走看看