- 1、本文档共161页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
算法设计与分析(霍红卫)_第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];由算法
您可能关注的文档
- 期中考试班会上班主任发言稿(精选5篇).docx
- Unit1-4课文翻译中文2024-2025学年牛津译林版英语七年级上册.docx
- 邓学前卫生学课程标准.docx
- [教科版]2021学年小学版六年级上册:《科学》作业本参考答案(Word版).docx
- 物探方法在工程地质勘查中的应用.pdf
- 数据库软件升级及数据库迁移方案.doc
- 展示AOGCM-AR5模型近年原文.pptx
- 公司委托书模板10篇(word版).doc
- 关于三轴搅拌桩的计算方法.pdf
- 管理工具在护理质量管理中的应用课件ppt.pptx
- 2025年山东城市建设职业学院单招《数学》考前冲刺试卷带答案详解(巩固).docx
- 2025年山东城市建设职业学院单招《数学》练习题及答案详解(名校卷).docx
- 2025年山东城市建设职业学院单招《数学》考前冲刺测试卷(考点梳理)附答案详解.docx
- 2025年山东圣翰财贸职业学院单招《物理》考前冲刺练习题含完整答案详解【必刷】.docx
- 2025年山东城市建设职业学院单招《数学》考试彩蛋押题附答案详解(实用).docx
- 2025年山东圣翰财贸职业学院单招《英语》考试历年机考真题集附参考答案详解(A卷).docx
- 2025年山东圣翰财贸职业学院单招《物理》通关考试题库附答案详解(研优卷).docx
- 2025年山东商务职业学院单招《英语》题库试题附参考答案详解【巩固】.docx
- 2025年山东临沂中考地理试卷真题及答案详解(精校打印版).docx
- 2025年山东圣翰财贸职业学院单招《数学》模考模拟试题附答案详解【综合卷】.docx
最近下载
- 2024年高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 留学生汉语口语自我效能感的研究.pdf VIP
- 高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 高级卫生专业技术资格考试(正高级)试卷及解答参考.docx VIP
- 掼蛋比赛活动策划方案.pptx
- 年处理10万吨苯-氯苯筛板精馏塔设计说明书2024.12.17.docx VIP
- 《中国近代史纲要选择题集锦(全)》.doc VIP
- HG-T 2517-2009 工业磷酸三钠.pdf VIP
- 《中国近现代史纲要(2023版)》课后习题答案汇编.doc VIP
文档评论(0)