[关闭]
@quinn 2015-07-05T11:23:05.000000Z 字数 1339 阅读 2209

(转)如何分析分治型算法性能

算法分析 排序算法


主定理 Master Method

假设有递推关系式

T(n)=aT(nb)+f(n),其中 a1b>1
其中,n为问题规模,a为递推的子问题数量,n/b为每个子问题的规模(假设每个子问题的规模基本一样),f(n)为递推以外进行的计算工作:包含问题分解和子问题解合并的代价

情形一

如果存在常数ϵ>0,有f(n)=O(nlogb(a)ϵ),并且是多项式的小于
那么

T(n)=Θ(nlogba)

情形二

如果存在常数k0,有f(n)=Θ(nlogbalogkn), 那么

T(n)=Θ(nlogbalogk+1n)

情形三

如果存在常数ϵ>0,有f(n)=Ω(nlogb(a)+ϵ),并且是多项式的大于, 同时存在常数c<1以及充分大的n,满足af(nb)cf(n), 即保证下一层比上一层小, 那么

T(n)=Θ(f(n))

常用算法中的应用


------算法 ----------- 递推关系式-------

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注