zoukankan      html  css  js  c++  java
  • 算法设计与分析 2

    算法分析基础:

    问题:

     

    1、算法的时间复杂度

    2、时间复杂度的估算

    3、问题的时间复杂度的上界和下界

    4、NP完全问题

     

     

     

    解决:

    算法时间复杂度(贼重要)

    通常有两种衡量算法效率的方法:

    (1) 事后统计法(少用)

    (2)事情分析估算法

    时间复杂度估算:

    因为

    算法 = 控制结构 +原操作(固有的数据类型的操作)

    所以

    算法执行的时间 = 原操作的执行次数*原操作 的和(最坏的情况)

     

     

    问题时间复杂度的上界和下界:

    定义1:如果存在两个正常数c和n0,对于所有的n=n0,有|

    f(n)|≤c|g(n)|,则记作f(n)=0(g(n))

    定义2 :如果存在两个正常数c和n0,对于所有的n≥n0,有|

    f(n)|≥c|g(n)|,则记作f(n)=Q(g(n))。

    定义3:当f(N)=0(g(N))且f(N)=Q(g(N)) 时,则记

    f(N)=θ(g(N))。也就是说f(N)与g(N)同阶

    定义4:如果对于任意给定的S≥0,都存在非负整数NO,使得当

    N≥NO时有f(N)sSg(N) ,则称函数f(N)当N充分大时,比g(N)低阶

    记为f(N)=o(g(N))

    定义5:若g(N)=o(f(N)),即当N充分大时,f(N) 的阶比g(N)

    高,则记f(N)=W(g(N))

     

     

    NP完全问题:(很难搞)

    是问题的复杂度,本身的复杂度;

    P类问题就是所有的复杂度为多项式时间的问题的集合。

    会当凌绝顶,一览众山小
  • 相关阅读:
    Spring框架概念
    git stash 用法总结和注意点
    Java虚拟机:对象创建过程与类加载机制、双亲委派模型
    办公软件技巧
    Zookeeper到底是干嘛的
    ANdroid Studio下载
    node.js网络(net)
    显示日期
    打包apk

  • 原文地址:https://www.cnblogs.com/quenvpengyou/p/12931416.html
Copyright © 2011-2022 走看看