Big O,Big Theta,Big Omega,little o,little omega notation的定义
来源:互联网 发布:linux查看物理cpu个数 编辑:程序博客网 时间:2024/06/11 11:18
最近在看MTI关于算法导论的公开课,对于一个超级门外汉,一听到这些记法瞬间就懵了,于是只能求助于谷哥。
(1)Big O
如果存在正数c和N,对于所有的n>=N,有f(n)<=c*g(n),则f(n)=O(g(n))
是不是很抽象?其实这玩意儿说通俗一点就是求一个算法的worst-case,即是一个最坏情况的度量,求的是上界。
(2)Big Omega
如果存在正数c和N,对于所有的n>=N,有f(n)>=c*g(n),则f(n)=Omega(g(n))
和Big O相反,这个玩意儿是很乐观的,求得是一个算法的最好情况,即下界,即best-case。不过这玩意儿基本上没什么用,因为你总不能跟用户说我这个算法最快的执行时间是3秒吧?万一一不小心执行了三年,用户岂不要气得吐血?
(3)Big Theta
如果存在正数c1,c2和N,对于所有的n>=N,有c1*g(n)<=f(n)<=c2*g(n),则f(n)=Theta(g(n))
这个记法表示一个算法不会好于XX,也不会坏于XX,太中庸了,没有激情啊。所以也就是求average-case。
(4)little o
对于任意正数c,均存在正数N,对于所有的n>=N,有f(n)<c*g(n),则f(n)=o(g(n))
(5)little omega
对于任意正数c,均存在正数N,对于所有的n>=N,有f(n)>c*g(n),则f(n)=omega(g(n))
好了,就简单介绍到这儿吧,以后有什么再做补充。
0 0
- Big O,Big Theta,Big Omega,little o,little omega notation的定义
- Big O, Big Omega, Big Theta的含义
- 算法度量 Big O, Big Omega, Big Theta
- Solve the confusion of Big Omega, Big Theta and Big O
- 科普一下算法的度量——Big O, Big Omega, Big Theta以及Udi Manber的大OO
- Big Omicron and Big Omega and Big Theta
- Big O and little o
- Determining Big O Notation
- big O notation
- 算法的时间复杂度:Big O notation
- 第二章 Big O notation
- 【算法学习笔记】O,Omega,Theta符号的使用
- 算法中的一些符号 O(big-Oh) Ω(big-theta) Θ(big-theta)
- Big "O"
- 算法学习之“Omega“、“Theta”和“Little Oh”
- Little endian & Big endian
- big-Endian&little-Endian
- big-Endian&little-Endian
- 谈谈ASP.NET的C#如何解析JSON数据
- C#中readonly与const区别
- Java中线程小结
- ZOJ-2370
- 2014年4月23日
- Big O,Big Theta,Big Omega,little o,little omega notation的定义
- Web 前端性能优化——使用索引对象
- oracle中去掉某列重复的记录
- 不通过表单访问带有命名空间的action
- IIS配置遇到的问题—— 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHan
- 双缓冲消息队列-减少锁竞争
- 多线程
- Android 双色球机选算法
- 正则表达式30分钟入门教程