递归式求解-主定理

1.主定理:设a>=1和b>1为常数,设f(n)为一函数,T(n)由递归式

《递归式求解-主定理》

对非负整数定义,其中n/b指下取整或上取整.那么T(n)可能有如下的渐进界:

(1)若对于某常数 ε>0,有《递归式求解-主定理》,则《递归式求解-主定理》;

(2)若《递归式求解-主定理》.则《递归式求解-主定理》;

(3)若对于某常数 ε>0,有《递归式求解-主定理》,且某常数 c<1与所有足够大的n,有《递归式求解-主定理》,则《递归式求解-主定理》



2.主定理的使用方法.

由主定理的三种情况可以看出,每一种情况都要比较 f(n) 与《递归式求解-主定理》进行比较.(求复杂度时,通常取上界)

第一种情况,f(n)与《递归式求解-主定理》进行比较,《递归式求解-主定理》较大,则解为《递归式求解-主定理》

第二种情况,两种函数同样大,这是乘以对数因子lgn,即《递归式求解-主定理》

第三种情况,f(n)较大,则递归式的解为《递归式求解-主定理》


3.例题示范

例题(1).《递归式求解-主定理》,求这个递归式的复杂度.

第一步.计算《递归式求解-主定理》,可求得《递归式求解-主定理》=n^2,

第二步.与f(n)=n进行比较,因此符合第一种情况,解得《递归式求解-主定理》

例题(2)《递归式求解-主定理》

第一步.计算《递归式求解-主定理》,可求得a=1, b=3/2,因此《递归式求解-主定理》=《递归式求解-主定理》

第二步.与f(n)=1进行比较,符合第二种情况,解得《递归式求解-主定理》


例题(3)第三中情况和第一种类似,不再举例


例题(4)《递归式求解-主定理》

第一步.计算《递归式求解-主定理》,a=2, b=2,   《递归式求解-主定理》 = n.看上去符合第三种情况,因为f(n)=lgn渐进大于n,但是不是多项式大于. 

 对于任意正常数ε,比值f(n)与《递归式求解-主定理》等于nlgn/n = lgn.渐进小于n^ε,(可用求极限方法分子分母同时求导求得).这种情况落在情况二和情况三之间.

这种情况下的递归式求解要用到:(算法导论4.4-2)

定理:若《递归式求解-主定理》,其中k>=0,则主定理中递归式的解为《递归式求解-主定理》


    原文作者:递归与分治算法
    原文地址: https://blog.csdn.net/demon24/article/details/8468761
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞