首页 > 编程语言 > 详细

算法设计与分析 2

时间:2020-05-21 16:49:47      阅读:36      评论:0      收藏:0      [点我收藏+]

算法分析基础:

问题:

 

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类问题就是所有的复杂度为多项式时间的问题的集合。

算法设计与分析 2

原文:https://www.cnblogs.com/quenvpengyou/p/12931416.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!