动态规划原理

本文探讨了最优子结构的概念及其在动态规划中的应用。详细解释了最优子结构的两个方面,通过实例深入分析了钢条切割问题。同时,对比了无权最短路径与无权最长简单路径在最优子结构上的差异,强调了子问题重叠问题及其解决方案。最后,介绍了重构最优解的过程,以及如何利用表来存储每个子问题的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最优子结构:一个问题的最优解包含其子问题的最优解
    不同问题领域,最优子结构的不同体现在两个方面:
        原问题的最优解中涉及多少个子问题
        在确定最优解使用哪些子问题时,我们需要考察多少种选择
        例:钢条切割问题涉及到一个子问题(长度为n-i的钢条的最优切割),但必须考察i的n中不同取值

    两个典型的问题
        无权最短路径:满足最优子结构,子问题无关
        无权最长简单路径【不存在环】:不满足最优子结构,子问题相关,比如求q到t的最长简单路径,分解为q->r和r->t的最长简单路径;其中q->r可能包含顶点t,因此造成最终组合的解存在环路,从而不满足简单路径的要求

子问题重叠:递归算法反复求解相同的子问题

重构最优解:将每个子问题所做的选择存在一个表中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值