• 复杂度函数的表示


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

    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出现在指数部分。这两类函数都是单增函数,但指数函数的增长速度要比多项式函数快得多。三种复杂度指标由细至粗, 对于一个新问题首先可用最后一种(是否为多项式)

    梦想还是要有的,万一实现了呢!
  • 相关阅读:
    Centos 7安装python3(PY3.6)
    linux仅修改文件夹权限 分别批量修改文件和文件夹权限
    【工作手札】Nginx接口代理可跨域
    微信自定义分享链接信息(标题,图片和内容)实现过程
    ios 等保 删除 uiwebview
    postman 接口批量测试
    uniapp之 页面滑动 组件
    uniapp之 点击图片跳转详情 组件
    安装 node.js
    创建一个mpvue的小程序
  • 原文地址:https://www.cnblogs.com/jianfeijiang/p/5578571.html
Copyright © 2020-2023  润新知