算法设计与分析之求解递归式优质PPT.pptx
《算法设计与分析之求解递归式优质PPT.pptx》由会员分享,可在线阅读,更多相关《算法设计与分析之求解递归式优质PPT.pptx(27页珍藏版)》请在冰豆网上搜索。
胡学钢胡学钢、吴共庆吴共庆求解求解递归式递归式合并排序的分析需要求解一个递归式求解递归式就像求解积分,微分方程一样。
学会一些技巧递归式的应用10/27/2022算法设计与分析-求解递归式2最通用的方法:
1.猜测解的形式。
2.通过推导验证。
3.解出常数。
例子例子:
假设T
(1)=
(1).猜测O(n3).(分别证明O和.)假设T(k)ck3对于kn.通过推导证明T(n)cn3.T(n)=4T(n/2)+n替代法替代法10/27/2022算法设计与分析-求解递归式3替代法举例替代法举例T(n)=4T(n/2)+n4c(n/2)3+n=(c/2)n3+n=cn3(c/2)n3n)期望余项cn3期望(c/2)n3n0,例如,如果c2且n1.余项10/27/2022算法设计与分析-求解递归式4我们必须要处理初始条件,也就是说,首先要保证推导在初始情况成立。
初始初始:
当n0为适当的常量时,对于所有nn0T(n)=
(1)都成立。
如果我们选择足够大的c,那么对于1nn0,“
(1)”cn3.边界并不紧密!
例子(续)例子(续)10/27/2022算法设计与分析-求解递归式5更接近的上界?
更接近的上界?
我们要证明T(n)=O(n2).假设对于k0满足.失败失败!
错误错误!
10/27/2022算法设计与分析-求解递归式6思想思想:
加强推导的假设.减减一个低阶项推导假设:
对于kn,T(k)c1k2c2k.T(n)=4T(n/2)+n=4(c1(n/2)2c2(n/2)+n=c1n22c2n+n=c1n2c2n(c2nn)c1n2c2n如果c21.选择足够大的c1使初始条件成立。
10/27/2022算法设计与分析-求解递归式7递归树方法递归树方法递归树对算法递归执行的花费(时间)建模递归树方法可以用作替代法之前的猜想。
递归树方法可能不是很可靠然而,递归树方法有启发的作用10/27/2022算法设计与分析-求解递归式8递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式9递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式10递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式11递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式12递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式13递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式14递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式15递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式16递归树方法举例递归树方法举例10/27/2022算法设计与分析-求解递归式17主方法适用于下面的递归形式主方法主方法10/27/2022算法设计与分析-求解递归式181.2.三种情况三种情况-10/27/2022算法设计与分析-求解递归式19三种情况(续)三种情况(续)3.+10/27/2022算法设计与分析-求解递归式20举例举例10/27/2022算法设计与分析-求解递归式21举例举例这时主方法不适用。
10/27/2022算法设计与分析-求解递归式22主方法主方法的思路的思路10/27/2022算法设计与分析-求解递归式23主方法主方法的思路的思路情况1:
加权从根到叶子几何级数增长。
叶子在总的权重仅仅占常量部分10/27/2022算法设计与分析-求解递归式24主方法主方法的思路的思路情况2:
(k=0)在logbn层中每层的加权基本相同10/27/2022算法设计与分析-求解递归式25主方法主方法的思路的思路情况3:
权重从根到叶子几何级数递减。
根在整个权重中仅仅是常量部分10/27/2022算法设计与分析-求解递归式26