• 算法设计与分析 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类问题就是所有的复杂度为多项式时间的问题的集合。

    会当凌绝顶,一览众山小
  • 相关阅读:
    java基础>包、访问权限、命名规范
    jsp>Session
    java基础>String类
    jsp>包含指令和forward指令
    jsp>response
    word不能输入中文
    java基础>正则表达式
    EJB>一对多及多对一映射
    Struts2>运行机制
    EJB>调用存储过程
  • 原文地址:https://www.cnblogs.com/quenvpengyou/p/12931416.html
Copyright © 2020-2023  润新知