动态规划的基本思想 .pdfVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

博学笃行自强不息

动态规划的基本思想

动态规划是一种常用于解决具有重叠子问题和最优子结构特征的问

题的算法思想。它将问题分解成一系列子问题,并通过解决子问题

构建出整个问题的最优解。动态规划的基本思想是将原始问题转化

成一个或多个相似的子问题,然后通过解决这些子问题获得原始问

题的解。这种思想在很多实际问题中都能够得到应用。

动态规划的基本流程一般包括以下几个步骤:

1.将原始问题分解为子问题:首先需要将原问题划分为多个子问题,

并且确保这些子问题之间有重叠的部分。

2.定义状态:确定每个子问题需要求解的状态,也即问题需要达成

的目标。

3.确定状态转移方程:根据子问题之间的关系,确定子问题之间的

状态转移方程,即如何将子问题的解转移到原问题的解。

4.解决首个子问题:解决最基本的子问题,获得初始状态下的解。

1

博学笃行自强不息

5.填充状态表格:根据状态转移方程,依次求解其他子问题,并且

填充状态表格。

6.求解原问题:通过填充状态表格,在保证状态转移方程的基础上

求解原问题的最优解。

动态规划的关键在于将原问题转化为子问题,通过递归或者迭代的

方式求解子问题,最终获得原问题的最优解。在这个过程中,重叠

子问题的求解是动态规划的特点之一。由于问题的子问题存在重叠,

所以在求解的过程中我们可以保存已经求解过的子问题的解,避免

重复计算,从而提高效率。动态规划还要求问题具有最优子结构特

征,即问题的最优解可以通过子问题的最优解构建出来。通过利用

已解决的子问题的最优解,可以有效地解决原问题。

动态规划算法在实际应用中有着广泛的应用。它可以用于解决很多

经典的问题,如最长公共子序列、0-1背包问题、最大子数组和等。

动态规划算法可以有效地解决这些问题,使得它们的时间复杂度得

到了有效的降低。

总结来说,动态规划的基本思想是将原始问题转化为子问题,并通

过解决子问题构建整个问题的最优解。动态规划算法通过保存已经

解决的子问题的解来避免重复计算,从而提高算法的效率。动态规

划算法在实际应用中具有广泛的应用,是解决具有重叠子问题和最

优子结构特征的问题的常用算法思想。通过深入理解动态规划的基

2

博学笃行自强不息

本思想和算法流程,我们可以更加高效地解决实际问题,提高算法

的效率。

3

文档评论(0)

136****3668 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档