- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chapter 7;What is dynamic programming;算法总体思想;但是经分解得到的子问题往往不是互相独立的. 不同子问题的数目常常只有多项式量级. 在用分治法求解时, 有些子问题被重复计算了许多次. ;算法总体思想;Fibonacci sequence(序列);Fibonacci sequence分析;二项式系数的计算;What is dynamic programming什么是动态规划?;The longest common subsequence problem最长公共子序列问题;递推公式;递推公式;;Algorithm 7.1 LCS
Input: Two strings A and B of length n and m, respectively, over an alphabet ?
Output: The length of the longest common subsequence of A and B
1. for i?0 to n
2. L[i, 0]?0
3. end for
4. for j?0 to m
5. L[0, j]?0
6. end for
; 7. for i?1 to n
8. for j?1 to m
9. if ai=bj then L[i, j]?L[i-1, j-1]+1
10. else L[i, j]?max{L[i, j-1], L[i-1, j]}
11. end if
12. end for
13. end for
14. return L[n, m]
;
定理7.1 最长公共子序列问题的最优解能够在?(nm)时间和?(min{m, n}) 空间内得到.
?;A=“xyxxzxyzxy” B=“zxzyyzxxyxxz”;Algorithm 7.1pro LCS
1. for i?0 to n
2. L[i, 0]?0
3. end for
4. for j?0 to m
5. L[0, j]?0
6. end for
7. for i?1 to n
8. for j?1 to m
9. if ai=bj then L[i, j]?L[i-1, j-1]+1, b[i, j]?”\”
; 10. else
11. if L[i-1, j]?L[i, j-1] then
12. L[i, j]?L[i-1, j], b[i, j]?”?”
13. else
14. L[i, j]?L[i, j-1], b[i, j]?”?”
15. end if
16. end if
17. end for
18. end for
19. return L[n, m] and b[n, m];print-LCS(b, A, i, j)
1. if i=0 or j=0 then return
2. if b[i, j]= ”\” then
3. print-LCS(b, A, i-1, j-1)
4. print ai
5. else
6. if b[i, j]= ”?” then print-LCS(b, A, i-1, j)
7. else print-LCS(b, A, i, j-1)
8. end if;Date;算法的改进;算法的改进;Matrix chain multiplication矩阵链相乘;Matrix chain multiplication矩阵链相乘;假设我们有n+1维数r1, r2, ..., rn+1, 这里ri和ri+1分别是矩阵Mi的行数和列数, 1?i?n.
我们将用Mi, j记MiMi+1...Mj的乘积, 我们还假设链Mi,j的乘法的最小耗费用数量乘法的次数来度量, 记为C[i, j].
对于给定的一对索引i和j, 1?ij?n, Mi,j可用如下方法计算:
设k是i+1和j之间的一个索引, 计算两个矩阵 Mi,k-1=MiMi+1…Mk-1和Mk,j=MkMk+1…Mj, 那么Mi,j=Mi,k-1Mk,j
显然, 用这种方法计算Mi,j的总耗费, 是计算
文档评论(0)