1、主方法使用条件
用主方法求解递归式有条件,必须要求递归式为以下形式:

其中a>=1,b>1,f(n)渐进趋正,意为对足够大的n,f(n)是正的,即n>=n0n_0n0时,f(n)>0。
其中 n为问题规模, a为递推的子问题数量, n/b 为每个子问题的规模(假设每个子问题的规模基本一样), f(n)为递推以外进行的计算工作。
2、主方法具体使用
**核心是比较f(n)与n^(logba)的大小。**根据大小关系可以分为三种情况:

3、举例
Ex1:T(n)=4T(n/2)+n
这里f(n)=n,n(logba)=n2n^(logba)=n^2n(logba)=n2,f(n)小于n^(logba),所以为第一种情况,T(n)=θ(n2n^2n2).
Ex2:T(n)=4T(n/2)+n2n^2n2
这里f(n)=n2n^2n2,n(logba)=n2n^(logba)=n^2n(logba)=n2,f(n)等于n^(logba),所以为第二种情况,T(n)=θ(n2lgnn^2lgnn2lgn)
Ex3:T(n)=4T(n/2)+n3n^3n3
这里f(n)=n3n^3n3,n(logba)=n2n^(logba)=n^2n(logba)=n2,f(n)大于n^(logba),所以为第三种情况,T(n)=θ(n3n^3n3)
主方法解析递归式
本文详细介绍了主方法在解决特定形式的递归式时的应用条件及步骤,通过比较递推以外的工作量f(n)与n^(logba)的大小,分为三种情况,给出实例分析。
1万+





