zoukankan      html  css  js  c++  java
  • 算法时间复杂度

    1、算法时间复杂度用相对增长率是度量

    表示方法:

    T(N)=O(f(N)) 那么T(N)<=f(N)的增长率

    T(N)=Ω(g(N))那么T(N)>=g(N)的增长率

    T(N)=o(p(N)) 那么T(N)<p(N)的增长率

    T(N)=θ(h(N)) 那么T(N)=h(N)的增长率

    通常采用大O记法

    2、计算法则

    法则1:如果T1(N)=O(f(N))且T2(N)=O(g(N))

    a.T1(N)+T2(N)=O(f(N)+g(N)) 最终取值max(O(f(N)),O(g(N)) )

    b.T1(N)T2(N)=O(f(N)g(N))

    法则2:如果T(N)是一个k次多项式,则T(N)=θ(Nk)(k次方)

    法则3:对于任意常数k,lognkn=O(N)。说明对数增长率相当缓慢

    增长率函数的常见分类

    c常数、logN对数、log2N对数的平方、N线性、NlogN、N2二次方、N3三次方、2N指数

    洛必达法则

    limN->∞f(N)/g(N)

    极限值是0,那么T(N)=o(g(N)) 

    极限值c/=0,那么T(N)=θ(g(N))

    极限值是∞,那么g(N)=o(f(N))

    3、运行时间计算法则

  • 相关阅读:
    task-clph
    遍历数组的方式
    iOS事件处理之七种手势
    quatz2d使用注意点
    iOS 细碎知识整理
    九宫格算法图示
    mac10.12的Cocopods安装使用
    静态库冲突的解决办法:duplicate symbol
    ceshi
    xmpp4-总览
  • 原文地址:https://www.cnblogs.com/yanwei-wang/p/8124328.html
Copyright © 2011-2022 走看看