• 复杂度函数的表示


    各种复杂度函数的表示方法大致可按表达的精确程度分为下面的三个等级: (何种情况下用相应的复杂度函数)

    1.解析表达式。 用解析表达式刻画复杂度函数是最精确的表达方式。例如 ·求n元中之最大元算法MaxElement的复杂度为 T(n) = W(n) = A(n) = n – 1 。 ·顺序搜索算法的最坏情形时间复杂度为 W(n) = n ; 在指定分布条件及 q = 1情形下的期望时间复杂度为 A(n) = ( n + 1)/2 。

    2.阶(Order)表达式。 为了简化算法复杂度分析的方法,往往只需计算当问题规模较大时算法的渐进复杂度的阶。

    定义1.1 称(复杂度)函数T(n)是O(f(n))的,即 T(n) = O(f(n)),如果存在常数c > 0与n0 ,当n > n0 时有T(n)≤cf(n) 。例如: T1(n) = (n + 1) / 2 = O(n) , T2(n) = 3n2 + 4n + 5 = O(n2)

    定义1.2 称(复杂度)函数T(n)是Ω(f(n))的,即 T(n) = Ω(f(n)),如果存在常数c > 0与n0 ,当n > n0 时有T(n) ≥cf(n) 。 例如: T1(n) = (n + 1) / 2 = Ω(n) , T2(n) = 3n2 + 4n + 5 = Ω(n2)

    定义1.3 称(复杂度)函数T(n)是θ(f(n))的, 即T(n) = θ(f(n)),如果存在常数c1, c2 > 0与n0 ,当n > n0 时有c1f(n)≥T(n)≥c2f(n) 。 例如: T1(n) = (n + 1) / 2 = θ(n) , T2(n) = 3n2 + 4n + 5 = θ(n2) 显然,如果T(n) = O(f(n))且T(n) = Ω(f(n)), 则T(n) = θ(f(n)) 。

    3.多项式函数和指数函数。 多项式函数指T(n)为自变量n的多项式函数,例如T1(n)=n/2+1/2,T2(n)=3n2+4n+5等。 而指数函数如T3(n) = 2n + 5,T4(n) = 3n/2 – 8等等,自变量n出现在指数部分。这两类函数都是单增函数,但指数函数的增长速度要比多项式函数快得多。三种复杂度指标由细至粗, 对于一个新问题首先可用最后一种(是否为多项式)

    梦想还是要有的,万一实现了呢!
  • 相关阅读:
    vue 手动挂载 $amount()
    Redis 主从配置
    DMA分区管理
    C# 构造函数里的base和this的区别
    SQL Server 数据库性能优化
    TCP和UDP的优缺点及区别
    Django框架初步应用简述
    前端vue框架应用雏形
    接口mock之moco
    python进阶(九)~~~协程、进程池、线程/进程/协程对比
  • 原文地址:https://www.cnblogs.com/jianfeijiang/p/5578571.html
Copyright © 2020-2023  润新知