收藏 分享(赏)

大O符号.doc

上传人:hyngb9260 文档编号:7786418 上传时间:2019-05-25 格式:DOC 页数:2 大小:51.50KB
下载 相关 举报
大O符号.doc_第1页
第1页 / 共2页
大O符号.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、大 O 符号摘自:维基百科大 O 符号(Big O notation)是用于描述函数渐近行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。在数学中,它一般用来刻画被截断的无穷级数尤其是渐近级数的剩余项;在计算机科学中,它在分析算法复杂性的方面非常有用。大 O 符号是由德国数论学家保罗巴赫曼(Paul Bachmann)在其 1892 年的著作解析数论(Analytische Zahlentheorie)首先引入的。而这个记号则是在另一位德国数论学家艾德蒙朗道(Edmund Landau)的著作中才推广的,因此它有时又称为朗道符号(Landau symb

2、ol)。代表“order of .”(阶)的大 O,最初是一个大写的希腊字母(Omicron),现今用的是英文大写字母O,但从来不是阿拉伯数字0。使用这个符号有两种形式上很接近但迥然不同的使用方法:无穷大渐近与无穷小渐近。然而这个区别只是在运用中的而不是原则上的除了对函数自变量的一些不同的限定,“大 O”的形式定义在两种情况下都是相同的。无穷大渐近大 O 符号在分析算法效率的时候非常有用。举个例子,解决一个规模为 n 的问题所花费的时间(或者所需步骤的数目)可以被求得:T(n) = 4n - 2n + 2。当 n 增大时, n 项将开始占主导地位,而其他各项可以被忽略举例说明:当 n = 50

3、0,4n 项是 2n 项的 1000 倍大,因此在大多数场合下,省略后者对表达式的值的影响将是可以忽略不计的。进一步看,如果我们与任一其他级的表达式比较,n 项的系数也是无关紧要的。例如一个包含 n 或 2n 项的表达式,即使 T(n) = 1,000,000n,假定 U(n) = n,一旦 n 增长到大于 1,000,000,后者就会一直超越前者(T(1,000,000) = 1,000,000 = U(1,000,000)。这样,大 O 符号就记下剩余的部分,写作:并且我们就说该算法具有 n2阶 (平方阶)的时间复杂度。无穷小渐近大 O 也可以用来描述数学函数估计中的误差项。例如:当 时

4、这表示,如果 x 足够接近于 0,那么误差(e x (1 + x + x2 / 2)的差)的绝对值小于 x3 的某一常数倍。常用的函数阶下面是在分析算法的时候常见的函数分类列表。所有这些函数都处于“n” 趋近于无穷大的情况下,增长得慢的函数列在上面。“c”是一个任意常数。符号 名称O(1) 常数(阶,下同)O(log * n) 迭代对数O(logn) 对数O(lognc) 多对数O(n) 次线性O(n) 线性O(nlogn) 线性对数,或对数线性、拟线性、超线性O(n2) 平方O(nc), c 1 多项式,有时叫作“代数” (阶)O(cn) 指数,有时叫作“几何” (阶)O(n!) 阶乘,有时叫做“组合” (阶)一些相关的渐近符号大 O 是最经常使用的比较函数的渐近符号。符号 定义f(n) = O(g(n) 渐近上限f(n) = o(g(n) asymptotically negligible (M = 0)f(n) = (g(n) 渐近下限 (当且仅当 g(n) = O(f(n)f(n) = (g(n) asymptotically dominant (当且仅当 g(n) = o(f(n)f(n) = (g(n) asymptotically tight bound (当且仅当 both f(n) = O(g(n) and g(n) = O(f(n)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报