二、函数渐近界的定理

定理1: 设f和g是定义域为自然数集合的函数,(计算极限来确定阶)

(1)如果lim f(n)/g(n)存在,并且等于某个常数c>0,那么f(n)=(g(n)).

    证明:根据极限定义,对于给定正数存在某个n0,只要nn0,就有

                |f(n)/g(n)-c|<

                c-

                取=c/2,

                则c/2

        对所有nn0,f(n)2cg(n),于是f(n)=O(g(n));

        对所有nn0,f(n)2cg(n),于是f(n)=(g(n));

        从而f(n)=(g(n))

(2)如果lim f(n)/g(n)=0,那么f(n)=o(g(n))

(3)如果lim f(n)/g(n)=+穷,那么f(n)=(g(n))

由以上定理推出来的一些重要结果

..可证明:多项式函数的阶低于指数函数的阶

        n^d = o(r^n),r>1,d>0

        证 不防设d为正整数,

           lim(n^d/r^n) = lim (dn^d-1/r^nlnr) = lim d(d-1)n^n-2/r^n(lnr)2

           =...=lim d!/r^n(lnr)^d =0

..可证明:对数函数的阶低于幂函数的阶

        lnn = o(n^d),d>0

        证 lim lnn/n^d = lim (1/n)/(dn^d-1) = lim 1/dn^d = 0


定理2: 设函数f,g,h的定义域为自然数集合,(阶具有传递性)

        (1)如果f=O(g)且g=O(h),那么f=O(h).

        (2)如果f=(g)且g=(h),那么f=(h).

        (3)如果f=(g)和g=(h),那么f=(h)

函数的阶之间的关系具有传递性

例子:

按照阶从高到低排序以下函数:

        f(n)=(n^2+n)/2,g(n)=10n

        h(n)=1.5^n,t(n)=n^1/2

        h(n)=(f(n)),指数函数的阶大于幂函数的阶

        f(n)=(g(n)),幂函数比阶可知

        g(n)=(t(n)),幂函数比阶可知

排序h(n),f(n),g(n),t(n)


定理3: 假设函数f和g的定义域为自然数集,若对某个其他函数h,有f=O(h)和g=O(h),那么         f+g=O(h)

该性质可以推广到有限个函数。

如果一个算法由有限步骤构成,若每一步的计算时间复杂度函数的上阶都是h(n),那么该算法的时间复杂度函数可以写作O(h(n)).

你可能感兴趣的:(二、函数渐近界的定理)