动态规划问题的简单理解思路(Dynamic Planning)

首先动态规划问题是一种解决问题的思路,相当求解一个问题,你有很多种可行解,但是你要从所有可行解当中找到一个合适的最优可行解。

那么动态规划问题在解决一个大的比较复杂的问题时,往往会把一个大的问题拆分成若干个子问题,甚至子问题的子问题来求解(类似于分治的思想),而这些子问题并非全部互相独立的,而是你把所有子问题的求解结果都算作是一次计算,最后把这些子问题的解都输出来得到原始问题的解。每个子问题就好比数学上三角函数的一个周期内图像的描述,每个子问题是有共通性的,如果把一个很小周期内所以可能的细节全部考虑到,其他周期都是在重复这个周期内的所有细节描述,仅仅只是换了一个递推的参数而已,那么这个动态规划问题的通项小问题模板你就已经找到了,问题就可以解决了。

举个例子
拆分问题的思想,用计算机领域我们常见的方法来理解,可以是一个递归的过程或者迭代的过程,相当于对问题进行不断拆分求解的过程(有点禁止套娃那味了)。不同的是自顶向下求解问题我们称之为递归(记忆存储Memoization),而自底向上求问题叫迭代(表格填充法Tabulation),它有点类似与我们现在的迭代开发了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值