- 1、本文档共161页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
算法设计与分析(霍红卫)_第3章动态规划;3.1用表代替递归;图3-1计算斐波那契数算法的递归结构(n=7);利用自底向上的动态规划设计策略,我们可以将计算斐波那契数的递归算法(例2-1)变成以下的C语言函数:;自顶向下的动态规划(topdowndynamicprogramming)方法甚至是更简单的一种技术,它执行递归函数的运行时间与自底向上的动态规划的运行时间相同,有时更少。我们跟踪递归程序,存储它计算的每一个值,并检查计算的值,以避免重复计算。这种自顶向下的技术也称为备忘录(memoization)方法。利用自顶向下的动态规划设计策略,我们可以将计算斐波那契数的递归算法(例2-1)变成以下的C语言函数:;intfibarr[1000]={0};
intMEMOIZED-F(intn)
{intt;
if(fibarr[n]!=0returnfibarr[n];
if(n==0)t=0;
if(n==1)t=1;
if(n1)t=MEMOIZED-F(n-1)+MEMOIZED-F(n-2);
returnfibarr[n]=t;
};图3-3计算斐波那契数的自顶向下的动态规划示例(n=7);算法将数组fibarr初始化为0,算法执行完成后,数组fibarr中的值如下所示:;3.20-1背包问题;图3-40-1背包问题示例;(1)刻画0-1背包问题最优解的结构。
我们可以将背包问题的求解过程看做是进行一系列的决策过程,即决定哪些物品应该放入背包,哪些物品不放入背包。
如果问题的一个最优解x1,x2,…,xn包含物品n,即xn=1,那么其余决策x1,x2,…,xn-1一定构成子问题1,2,…,n-1在容量为W-wn时的最优解。我们可以利用“切割—粘贴”方法证明:如果存在子问题1,2,…,n-1在容量为W-wn时的更大价值的解x1′,x2′,…,xn-1′,我们可以构造问题的一个新解x1′,x2′,…,xn-1′,xn。这个解比x1,x2,…,xn的总价值更大,这与x1,x2,…,xn是问题最优解相矛盾。如果这个最优解不包含物品n,即xn=0,那么这个最优解一定包含子问题1,2,…,n-1在容量为W时的最优解。证明过程类似上述情形。;(2)递归定义最优解的值。
根据子问题的最优解递归地定义问题最优解的开销。设c[i,w]表示背包容量为w时,i个物品导致的最优解的总价值。显然,问题的最优价值为c[n,W]。由(1)中分析可得,c[i,w]递归定义如下:;(3)计算背包问题最优解的值。
基于上述计算c[i,w]的递归方程,我们很容易写一个递归算法RECURKNAP,计算背包容量为W时n个物品的最优价值。然而,这个算法为指数时间复杂度O(2n),并不比穷举法好。;我们不是直接计算递归方程的解,而是利用一个表格,以自底向上的方式计算最优价值。过程KNAPSACK-DP以物品权值〈w1,w2,…,wn〉,物品价值〈v1,v2,…,vn〉,物品个数n,背包容量W作为输入,并将c[i,w]的值存储在辅助表c[0..n,0..W]中,以行为主序从左到右计算表c中的元素。同时维持辅助表s[1..n,1..W],以简化最优解的构造。为简单起见,我们只将物品个数及背包容量在参数表中列出。;KNAPSACK-DP(n,W)
1forw←0toW
2doc[0,w]←0
3fori←1ton
4doc[i,0]←0
5forw←1toW
6doifw[i]≤w
7thenifv[i]+c[i-1,w-w[i]]c[i-1,w]
8thenc[i,w]←v[i]+c[i-1,w-w[i]]
9elsec[i,w]←c[i-1,w]
10elsec[i,w]←c[i-1,w];由算法
您可能关注的文档
最近下载
- 《GB-T4187-1984-钨杆》.pdf VIP
- 2024陕西榆林市黄河东线引水工程限公司招聘20人高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 水利水电工程抛石护岸施工规范.pdf VIP
- 勿忘国耻振兴中华 主题班会.ppt
- 关于迁坟协议书范本5篇.docx
- Unit+2+Sports+and+Fitness+Lesson+3+Running+and+Fitness 高中英语北师大版(2019)必修第一册.pptx VIP
- 学堂在线临床中成药应用(2024秋)考试答案.docx
- (小升初思维拓展)专题19:多次相遇问题(提高卷)六年级下册小升初数学高频考点专项培优卷.docx VIP
- 天然气管网新增上载点和下载点管理规定.pdf
- JADEBIRD青鸟JTY-H-JBF4382C 线型光束感烟火灾探测器说明书.pdf
文档评论(0)