zoukankan      html  css  js  c++  java
  • 算法导论(一):渐进记号

    算法导论(一):渐进记号

    算法中,常用极限情况度量一个函数的好坏,因此引入了渐进函数的概念。在渐进函数中,有以下五种渐进记号:Ο、Θ、Ω、οω

      假设有函数f(n)与函数g(n),如果令函数f(n)为实数a,函数g(n)为实数b,则有以下类比:

      f(n)=Ο(g(n))  类似于  ab

      f(n)=Ω(g(n))  类似于  a≥b

      f(n)=Θ(g(n))  类似于  a=b

      f(n)=ο(g(n))  类似于  a<b

      f(n)=ω(g(n))  类似于  a>b

    Ο记号

      Ο记号表示渐进上界,即存在正常数cn0,使得当nn0时,有0≤f(n)≤cg(n)。则认为f(n)=Ο(g(n))。(读作:大Ο(g(n)))

    Θ记号

      Θ记号表示渐进准确界,即存在正常数c1c2n0,使得当nn0时,有0≤c1g(n)≤f(n)≤c2g(n)。则认为f(n)=Θ(g(n))。(读作:Θ(g(n)))

    Ω记号

      Ω记号表示渐进下界,即存在正常数cn0,使得当nn0时,有0≤cg(n)≤f(n)。则认为f(n)=Ω(g(n))。(读作:大Ω(g(n)))

    ο记号

      ο记号表示非渐进上界,即存在正常数n0,对任意的常数c>0,使得当nn0时,有0≤f(n)<cg(n)。则认为f(n)=ο(g(n))。(读作:小ο(g(n)))

    直观上可以理解,当n趋近无穷时,有limn→∞(f(n)/g(n))=0 

    ω记号

      ω记号表示非渐进下界,即存在正常数n0,对任意的常数c>0,使得当nn0时,有0≤cg(n)<f(n)。则认为f(n)=ω(g(n))。(读作:小ω(g(n)))

    直观上可以理解,当n趋近无穷时,有limn→∞(f(n)/g(n))=∞ 

    函数的特性:

    传递性:

      f(n)=Ο(g(n))且g(n)=Ο(h(n))→f(n)=Ο(h(n))

      f(n)=Ω(g(n))且g(n)=Ω(h(n))→f(n)=Ω(h(n))

      f(n)=Θ(g(n))且g(n)=Θ(h(n))→f(n)=Θ(h(n))

      f(n)=ο(g(n))且g(n)=ο(h(n))→f(n)=ο(h(n))

      f(n)=ω(g(n))且g(n)=ω(h(n))→f(n)=ω(h(n))

    自反向:

      f(n)=Ο(f(n))  

      f(n)=Θ(f(n))  

      f(n)=Ω(f(n))

    对称性:

      f(n)=Θ(g(n))  当且仅当  g(n)=Θ(f(n))

      f(n)=Ο(g(n))  当且仅当  g(n)=Ω(f(n))

      f(n)=ο(g(n))  当且仅当  g(n)=ω(f(n))

     

  • 相关阅读:
    POJ 2891 Strange Way to Express Integers 中国剩余定理解法
    @Repository @Service 和@Autowired 的使用
    POJ 3070 Fibonacci
    无线局域网技术
    第一次ACM赛后总结及感悟
    Subsets II -- LeetCode
    [WebView学习之二]:使用Web Apps 支持不同分辨率屏
    微信公众平台开发新手教程(图文具体解释)
    翻译-In-Stream Big Data Processing 流式大数据处理
    Nginx + FastCgi + Spawn-fcgi + C 架构的server环境搭建
  • 原文地址:https://www.cnblogs.com/lorenshuai724005/p/10614914.html
Copyright © 2011-2022 走看看