算法时间复杂度分析
来源:互联网 发布:java飞机大战子弹移动 编辑:程序博客网 时间:2024/06/05 18:10
算法的确切时间复杂度
对一个算法输入的不同,算法确切运行的时间不是唯一确定的。
算法的渐进时间复杂度
很多时候我们不需要对时间复杂度进行精确地分析
原因:1.在较复杂的算法中,进行精确分析是非常复杂的。
2.大多时候我们并不关心F(n)的精确量,而只关心其量级
因此提出了渐进时间复杂度的概念。
定义一:Θ(g(n))={f(n) | 如果存在正常数c1、c2和正整数n0,使得当n>=n0时,0<c1g(n)<=f(n)<=c2g(n)恒成立}
定义二:Ο(g(n))={f(n) | 如果存在正常数c和正整数n0,使得当n>=n0时,0<=f(n)<=cg(n)恒成立}
定义三:Ω(g(n))={f(n) | 如果存在正常数c和正整数n0,使得当n>=n0时,0<=cg(n)<=f(n)恒成立}
F(n)不是确定的,他是在一个单位内变动,那我们关心那个F(n)呢?一般我们在分析算法时,使用最坏情况下的F(n)
来评价算法效率:
1.如果知道了最坏情况,我们就可以保证算法在任何时候都不能比这个情况更坏了
2.很多时候,算法运行发生最坏情况的概率还是很大的,如查找问题中待查元素不存在的情况。且在很多时候,平均情况的渐近时间复杂度和最坏情况的渐近时间复杂度是一个量级的。
阅读全文
0 0
- 算法时间复杂度分析
- 算法时间复杂度分析
- 算法分析时间复杂度
- 分析算法时间复杂度
- 算法时间复杂度分析
- 算法时间复杂度分析
- 算法时间复杂度分析
- 算法-时间复杂度分析
- 算法时间复杂度分析
- 算法时间复杂度分析
- 算法分析-时间复杂度分析
- 算法分析-时间复杂度分析
- 算法时间复杂度与空间复杂度分析
- 算法时间复杂度分析基础
- 算法时间复杂度分析基础
- 算法的时间复杂度分析
- 算法时间复杂度分析基础
- 算法时间复杂度分析基础
- 不平衡数据的分类评价指标总结
- NOIP2016 Day2
- oracle数据库的静默安装
- linux 重启服务器命令
- 九九乘法表
- 算法时间复杂度分析
- HTTP状态代码列表
- 2017 CCPC秦皇岛赛区比赛总结
- 343. Integer Break
- JavaScript和HTML DOM的区别与联系
- spring aop学习7:Cglib动态代理(基于继承代理)
- Uva1639(概率期望+自然对数)
- 使用Excel数据分析工具进行多元线性回归分析
- ajax事件请求