什么是 “动态规划” , 用两个经典问题举例。

理解动态规划:斐波那契数列与Triangle问题解析
动态规划是一种通过分解复杂问题并仅计算每个子问题一次来解决问题的方法。本文通过斐波那契数列和LeetCode的Triangle问题,详细解释了动态规划的概念,并对比了递归和动态规划解法的效率差异,揭示了动态规划在存储已计算值和优化路径查找上的关键作用。

1.什么是动态规划?


看了很多题解,一般解决者开始就说用DP来解,然后写了嵌套的for循环,不是很容易看懂,但是确实解出来了,我们这次来看下到底什么是动态规划?它有什么特点呢?容我抄一段话:

动态规划Dynamic programming,DP),通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。 这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用。

我又对动态规划有了新的认识,动态规划的核心是把问题分解成相对简单的子问题,一般有递归的思想,但一般最终用for循环来解,这样效率更高,也就是说递归的也是动态规划,只是效率不高
</

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瓦力冫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值