算法设计与分析(王佳)01概述.pptVIP

  • 32
  • 0
  • 约1.9万字
  • 约 91页
  • 2017-05-08 发布于浙江
  • 举报
大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项是2n项的1000倍大,因此在大多数场合下,省略后者对表达式的值的影响将是可以忽略不计的。 进一步看,如果我们与任一其他级的表达式比较,n2项的系数也是无关紧要的。例如一个包含n3或2n项的表达式,即使T(n) = 1000000n2,假定U(n) = n3,一旦n增长到大于1000000,后者就会一直超越前者。 这样,大O符号就记下剩余的部分,写作: 并且我们就说该算法具有 n2阶(平方阶)的时间复杂度。 [编辑] 无穷小渐进 大O也可以用来描述数学函数估计中的误差项。例如: 当 时 这表示,如果 x 足够接近于0,那么误差(ex ? (1 + x + x2 / 2)的差)的绝对值小于 x3 的某一常数倍。 [编辑] 形式化定义 f * 算法设计与分析(goodrich)p9 * 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。... * 数论中的算术基本定理或者叫唯一分解定理 * * 定义1.2(下界函数) 如果存在两个正常数c和n0,对于所有的n≥n0,有|f(n)| ≥ c|g(n)|,则记作f(n) = Ω(g(n))。 含义: 如果算法用n值不变的同一类数据在某台机器上运行,所用的时间总不小于|g(n)|的一个常数倍。 函数f 至少是函数g 的c 倍,除非n n0 。即是说,当n 充分大时,g 是f 的一个下界函数(在相差一个非零常数倍的情况下)。 */90 f(n)=2n+3=Ω(n) 对所有n,2n+3≥2n, 可选c=2,n0=0。对于n≥n0,f(n)=2n+3≥2n,所以,f(n)=Ω(n). f(n)=10n2+4n+2=Ω(n2) 对所有n,10n2+4n+2≥10n2,可选c=10,n0=0。对于n≥n0,f(n)=10n2+4n+2≥10n2,所以,f(n)=Ω(n2). */90 注: 1. 通常情况下,下界函数也取单项的形式。 2. 总是试图求出数量级最大的g(n)作为f(n)的下界函数,g(n)应该尽量接近函数f(n)。 其它具有和大O类似的性质。 */90 定义1.3(“平均情况”) 如果存在正常数c1,c2和n0,对于所有的n≥n0,有 c1|g(n)| ≤|f(n)| ≤ c2|g(n)|, 则记作 含义: 算法在最好和最坏情况下的计算时间就一个常数因子范围内而言是相同的。可看作: 既有 f(n) = Ω(g(n)),又有f(n) = Ο(g(n)) 函数f 介于函数g 的c1和c2倍之间,即当n充分大时, g 既是f 的下界,又是f 的上界。 */90 例: 以二次函数为例,比如1/2n2-3n,要证明它是属于Θ(n2)这个集合的,我们必须确定c1、c2和n0,这些常数不随n改变,并且当n≥n0以后,c1n2≤1/2n2-3n≤c2n2总是成立的。为此我们从不等式的每一边都除以n2,得到c1≤1/2-3/n≤c2。见下图: */90 这样就很容易看出来,无论n取多少,该函数一定小于1/2,因此c2=1/2,当n=6时函数值为0,n6时该函数都大于0,可以取n0=7,c1=1/14,这样当n≥n0时都有1/2-3/n≥c1。通过这个证明过程可以得出结论,当n足够大时任何

文档评论(0)

1亿VIP精品文档

相关文档