算法设计与分析王佳01概述.ppt

大O符号(Big O notation)是用于描述函数渐进行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。在数学中,它一般用来刻画被截断的无穷级数尤其是渐近级数的剩余项;在计算机科学中,它在分析算法复杂度的方面非常有用。 大O符号是由德国数论学家保罗·巴赫曼(Paul Bachmann)在其1892年的著作《解析数论》(Analytische Zahlentheorie)首先引入的。而这个记号则是在另一位德国数论学家艾德蒙·朗道(Edmund Landau)的著作中才推广的,因此它有时又称为朗道符号(Landau symbol)。代表“order of ...”(……阶)的大O,最初是一个大写的希腊字母Ο(Omicron),现今用的是英文大写字母O,但从来不是阿拉伯数字0。 这个符号有两种形式上很接近但迥然不同的使用方法:无穷大渐进与无穷小渐进。然而这个区别-{只是}-在运用中的而不是原则上的——除了对函数自变量的一些不同的限定,“大O”的形式定义在两种情况下都是相同的。 无穷大渐进 在分析算法效率的时候非常有用。举个例子,解决一个规模为 n 的问题所花费的时间(或者所需步骤的数目)可以被求得:T(n) = 4n2 ? 2n + 2。 当n增大时,n2项将开始占主导地位,而其他各项可以被忽略——举例说明:当n = 500,4n2

文档评论(0)

1亿VIP精品文档

相关文档