013迭代法求解递推方程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5
二分归并排序
MergeSort (A, p, r) 输入:数组 A[p..r] 输出:按递增顺序排序的数组 A 1. if p < r 2. then q(p+r)/2 3. MergeSort (A, p, q) 4. MergeSort (A, q+1, r) 换元:将对 5. Merge (A, p,n q,的函数 r)
8
解的正确性-归纳验证
证明:下述递推方程的解是 W(n)=n(n1)/2 W(n)=W(n1)+n1 W(1)=0 方法:数学归纳法 证 n=1,W(1)=1(11)/2 = 0 假设对于n , 解满足方程,则 W(n+1) = W(n)+n = n(n1)/2 + n = n[(n1)/2+1] = n(n+1)/2
= 2 [ 2T(n2) + 1] + 1 = 22 T(n2) + 2 + 1 =… = 2n1T(1) + 2n2+2n3+…+2+1 = 2n1 + 2n11 代入初值 求和 = 2n1
3
插入排序算法
W(n)=W(n1) + n1 = [W(n2) + n2] + n1 = W(n2) + n2 + n1 =…
9
小结
迭代法求解递推方程 • 直接迭代,代入初值,然后求和 • 对递推方程和初值进行换元,然 后求和,求和后进行相反换元, 得到原始递推方程的解 • 验证方法——数学归纳法
10
换元, 对k迭代
2[2W ( 2 k 2 ) 2 k 1 1] 2 k 1 22W ( 2k 2 ) 2k 2 2k 1
2 2 [2W ( 2 k 3 ) 2 k 2 1] 2 k 2 2 k 1 ... 2 k W (1) k 2 k ( 2 k 1 2 k 2 ... 2 1) k 2k 2k 1 n log n n 1
转换成对 k 的函数
6
换元
假设 n=2k, 递推方程如下: W(n)=2W(n/2)+n1 W(1)=0 换元: W(2k) = 2W(2k-1) + 2k1 W(0) = 0
7
迭代求解
W ( n) 2W ( 2 k 1 ) 2 k 1
W(2k) = 2W(2k-1) + 2k1
W ( n) W ( n 1) n 1 W (1) 0
Leabharlann Baidu
= W(1) + 1 + 2 + … + (n2) + (n1)
= 1 + 2 + … + (n2) + (n1)
= n(n1)/2
4
换元迭代
• 将对 n 的递推式换成对其他变元 k 的递推式
• 对 k 直接迭代 • 将解 (关于 k 的函数) 转换成关于 n 的函数
迭代法求解 递推方程
迭代法
• 不断用递推方程的右部替换左部 • 每次替换,随着 n 的降低在和式中 多出一项 • 直到出现初值停止迭代 • 将初值代入并对和式求和
• 可用数学归纳法验证解的正确性
2
Hanoi 塔算法
T(n) = 2 T(n1) + 1
T(n) = 2 T(n1) + 1 T(1) = 1
相关文档
最新文档