【算法导论】【第三章】掌握渐进符号O和Ω
来源:互联网 发布:怎样举报淘宝店铺 编辑:程序博客网 时间:2024/05/18 01:10
本篇文章基于麻省理工学院的公开课第二讲。
首先从纯数学的角度上来理解。
exam1:
f(n)=O(g(n)),代表存在常数c和n0,使得n>=n0时,满足0<=f(n)<=c*g(n)。
比如2*n^2=O(n^3),这里n^2代表n的平方,n^3代表n的三次方,用过matlab的应该很好理解。
这里套用O的定义可知,即存在常数c=1和n0=2,使得n>=n0=2时,满足0<=2*n^2<=n^3。
这个例子应该很好理解。O可以理解成小于等于。
但实际上的意义是f(n)属于g(n)构成的函数集,不过我们可以用等号来表示。
exam2:
f(n)=n^3+O(n^2),代表存在h(n)属于O(n^2),使得f(n)=n^3+h(n).
也就是f(n)的主要部分是n^3,但还包括了低阶项O(n^2)。
exam3:
n^2+O(n)=O(n^2),代表对于任意的f(n)属于O(n^2),都存在h(n)属于O(n^2),使得n^2+f(n)=h(n)。
由以上三个例子我们可以看出,O很好的表示了上界,可以理解成小于等于。
我们还需要符号来表示下界,那就是Ω
exam1:
Ω(g(n))=f(n),从定义上来看,存在常数c>0,n0>0,使得当n>=n0时,满足0<=c*g(n)<=f(n).
exam2:
n^0.5=Ω(lgn),这里n^0.5代表n的平方根,lgn代表log2(n),即以2为底。
根据定义,我们可以理解成:对于足够大的n,n^0.5至少是lg(n)的常数倍。
Ω基本上对应于大于等于。
综上,O和Ω很好的表示了上界和下界。O对应于小于等于,Ω对应于大于等于。
0 0
- 【算法导论】【第三章】掌握渐进符号O和Ω
- 算法导论第三章--- 渐进记号
- 算法分析渐进符号(O、o、Θ、Ω、ω)总结
- 算法导论笔记:03渐进符号
- MIT算法导论-第二讲-渐进符号,递归及解法
- 算法导论 第三章:渐进符与递归式的求解
- 算法渐进符号
- 【算法笔记】渐进符号
- 算法导论第三章 函数的增长——关于O Θ Ω的用法
- 算法导论第三章
- 算法导论学习-渐进表达式
- 麻省理工学院《算法导论》课堂笔记(第二集)渐进符号、递归及解法
- 算法分析基础---渐进符号和递归式分析
- 算法分析基础---渐进符号和递归式分析
- java,动态规划,算法导论之钢条切割(O(n)时间渐进性)
- 算法符号Θ, O, Ω
- 算法导论第三章总结
- 【算法导论】01 运行时间,渐进分析
- 使用Eclipse构建Maven项目 (step-by-step)
- 【STL专项练习】热血格斗场
- Device Context 设备环境 设备上下文 理解
- 2700年前齐桓公玩弄的货币战争,今天的中国也在上演?!
- UML类图关系大全
- 【算法导论】【第三章】掌握渐进符号O和Ω
- 转: Redis消息队列的若干实现方式
- 苹果系统/mac系统垃圾桶不能清理干净的解决办法
- uva 1534 - Taekwondo(dp+贪心)
- mysql数据库主从复制和读写分离
- iOS NSPredicate类的使用
- Mac OS X 下编译使用 LAJP
- 构建高性能web之路------mysql读写分离实战(转)
- HDU 2112HDU Today(dijk最短路+map)