- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主定理的应用
求解递推方程:例1
例1 求解递推方程
T(n) = 9T(n/3) + n
解 上述递推方程中的
a = 9,b = 3,f (n) = n
log 9 2 log 9-1
n 3 = n , f (n) = O(n 3 )
相当于主定理的case1,其中 =1.
2
根据定理得到 T(n) = (n ) 2
求解递推方程:例2
求解递推方程:例2
例2 求解递推方程
T(n) = T(2n/3) + 1
解 上述递推方程中的
a = 1, b = 3/2, f (n) = 1 ,
n log3/2 1 = n0 = 1
相当于主定理的Case2 .
根据定理得到 T(n) = ( log n) 3
求解递推方程:例3
求解递推方程:例3
例3 求解递推方程
T(n) = 3T(n/4) + nlogn
解 上述递推方程中的
a = 3, b = 4, f (n) = nlogn
log 3+ 0.793+
nlogn= ( n 4 ) ( n )
取 = 0.2 即可.
4
条件验证
要使a f (n/b) c f (n) 成立,
代入f (n) = n logn,得到
3 (n/4) log (n/4) cn logn
只要c 3/4,上述不等式可以对所有
充分大的n 成立. 相当于主定理的
Case3.
因此有 T(n)= (f (n))= (nlogn)
5
递归算法分析
二分检索:W(n)= W(n/2)+1, W(1)=1
log 1
a=1, b=2, n 2 =1, f (n)=1,
属于Case2,
W(n)=(logn)
二分归并排序:
W(n)=2 W(n/2)+n1, W(1)=0
log 2
a=2, b=2, n 2 =n, f (n)=n1
属于Case2,
6
W(n)=(nlogn)
不能使用主定理的例子
例4 求解 T(n)=2T(n/2)+nlogn
log a
解 a=b=2, n b =n, f (n)=nlogn
不存在 0 使下式成立
n logn = ( n1+ )
不存在c 1 使af(n/b)cf(n)对所有
充分大的n 成立
2(n/2)log(n/2)=n(logn-1) cnlogn
文档评论(0)