主定理 Master Method :在《算法导论》被提出
假设有递推关系式
T(n)=aT(nb)+f(n)
,其中
a≥1, b>1
其中,
n
为问题规模,
情形一
如果存在常数
ϵ>0
,有
f(n)=O(nlogb(a)−ϵ)
,并且是多项式的小于
那么
情形二
如果存在常数 k≥0 ,有 f(n)=Θ(nlogbalogkn) , 那么
情形三
如果存在常数
ϵ>0
,有
f(n)=Ω(nlogb(a)+ϵ)
,并且是多项式的大于, 同时存在常数
c<1
以及充分大的
n
,满足
常用算法中的应用
——算法 ———– 递推关系式——-
- 折半搜索– T(n)=T(n2)+Θ(1)−−运算时间:Θ(log(n))−−情形二(k=0)
- 二叉树遍历– T(n)=2T(n2)+Θ(1)−−运算时间:Θ(n)−−情形一
归并排序– T(n)=2T(n2)+Θ(n)−−运算时间:Θ(nlog(n))−−情形二(k=0)
sol: f(n)=θ(n)=θ(nlog22log0n),T(n)=nlog22log1n=nlog(n)参考资料
1 主定理-维基百科 http://zh.wikipedia.org/wiki/%E4%B8%BB%E5%AE%9A%E7%90%86