网站大量收购独家精品文档,联系QQ:2885784924

5.5.动态规划算法的迭代实现.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态规划算法 的迭代实现 迭代计算的关键 • 每个子问题只计算一次 • 迭代过程 – 从最小的子问题算起 – 考虑计算顺序,以保证后面用到的值 前面已经计算好 – 存储结构保存计算结果——备忘录 • 解的追踪 – 设计标记函数标记每步的决策 – 考虑根据标记函数追踪解的算法 2 矩阵链乘法不同子问题 长度1:只含1个矩阵,有n个子问题 (不需要计算) 长度2 :含2个矩阵,n-1个子问题 长度3 :含3个矩阵,n-2个子问题 ... 长度n-1:含n-1个矩阵,2个子问题 长度n :原始问题,只有1个 3 矩阵链乘法迭代顺序 长度为1:初值,m [i, i] = 0 长度为2 :1..2, 2..3, 3..4, ... , n-1..n 长度为3 :1..3, 2..4, 3..5, ... , n-2..n ... 长度为n-1:1..n-1, 2..n 长度为n :1..n 4 n=8 的子问题计算顺序 A A A A A A A A 1 2 3 4 5 6 7 8 r=2 r=3 r=4 r=5 r=6 r=7 r=8 5 算法MatrixChain (P, n) 迭代实现 1. 令所有的m [i,i]初值为0 遍历 2. for r←2 to n do // r为链长 长r子 3. for i←1 to n−r+1 do // 左边界i 问题 4. j ←i+r−1 // 右边界j 5. m [i,j ]←m [i+1,j ]+p p p //k=i i−1 i j 6. s [i,j ]←i //记录k 遍历所 有划分 7. for k←i+1 toj −1 do // 遍历k 8. t←m [i,k]+m [k+1,j ]+p p p i−1 k j 9. if tm [i,j ] 10. then m [i,j ]←t //更新解 11. s [i,j ]←k 二维数组m与s为备忘录 6 时间复杂度 • 根据伪码:行2, 3, 7 都是O(n) ,循环 3 执行O(n )次,内部为O(1) W(n) = O(n3) • 根据备忘录:估计每项工作量, 求和.

文档评论(0)

恬淡虚无 + 关注
实名认证
内容提供者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档