动态规划1:动态规划的入门初学理论基础

 动态规划算法的四个步骤:

1.找出最优解的性质,并刻画其结构特征

2.递归地定义最优值

3.自底向上的方式计算最优值

4.构造最优解 

 注:步骤1~3是动态规划算法的基本步骤,在只需要求出最优的情况下,步骤4可 省略,若需要求出问题的最优(具体的解的过程),则必须执行步骤四

动态规划和分治法的异同:

相同点:

基本思想都是将待求解问题分解为若干子问题,先求解子问题,再结合这些子问题的解得到原问题的解。

不同点: 

与分治法不同,适合动态规划法求解的问题经分解得到的子问题往往不是互相独立的。若用分治法求解这类问题,某些子问题会被重复计算(每次求解某个问题的时候都要重新计算某个相同的子问题)。如果能保存已解决的子问题的答案 ,需要的时候直接拿来用,这一可以避免大量的重复计算,大大缩减了时间复杂度。

分治:从上到下,原问题逐渐分解为子问题

动规:从下到上,从最小子问题逐步推到总问题

所有的动态规划解决方案都涉及网格,来记录所有已解决的子问题答案。不管该子问题以后是否被用到,只要他被计算过,就将结果填入表中。

 

这里利用《算法图解》里的背包问题来帮助理解

 

 

 

所以最终答案为4000美元

注意:本问题中沿着一列往下走时,最大价值不可能降低,因为每次迭代时你都存储当前的最大价值,不会比以前低

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值