文档详情

【精选】3求解递归.pdf

发布:2018-04-23约1.15万字共27页下载文档
文本预览下载声明
本讲内容 • 求解递归 – 代换法(Substitution method ) – 递归树法(Recursion-tree method ) – 主方法(master method ) • 递归求解的例题 2 代换法 • 代换法求解递归式的三个步骤 – 猜测解的形式 – 用数学归纳法证明 • 找出使解有效的常数 – 确定常数使边界条件成立 4 例:T(n) = 4T(n/2) + n • [假定T(1)=Θ(1)] 3 • 猜测T(n)= Ο (n ) (分别证明Ο和Ω 关系) • 假设,对于所有的kn T(k) ≤ ck3 • 通过归纳法证明 T(n) ≤ cn3 5 例:T(n) = 4T(n/2) + n T(n) = 4T(n/2) + n ≤ 4c(n/2)3 + n = (c/2)n3 + n = cn3 – ((c/2)n3 – n) 期望的形式 - 余项 ≤ cn3 期望的形式 这里要保证:((c/2)n3 – n) ≥ 0, 这只需要:c ≥ 2并且n ≥ 1 余项 11 例:T(n) = 4T(n/2) + n • 还必须处理初始情形,才能使归纳成立。 • 因为对所有的1≤nn0 都有T(n)=Θ(1) ,其中 n 是某个适当的常数 0 • 于是当1≤nn 时,只要c足够大,就有 0 “Θ(1)” ≤ cn3 • 但这个界并不够紧 12 更紧的上界 2 • 我们来证明T(n) = Ο (n ) • 假设对于所有的kn ,有T(k) ≤ ck2 T(n) = 4T(n/2) + n ≤ 4c(n/2)2 + n 2 = Ο (n ) 13 更紧的上界 2 • 我们来证明T(n) = Ο (n ) • 假设对于所有的kn ,有T(k) ≤ ck2 T(n) = 4T(n/2) + n ≤ 4c(n/2)2 + n 2 = Ο (n ) 错!必须证明完全一致的形式 = cn2 – (-n) 期望的形式 - 余项 ≤ cn2 但对任何c 0 ,上式最后一步不可能成
显示全部
相似文档