《趣学算法》--动态规划

本文深入探讨动态规划的概念,包括重叠子问题、无后效性和最优子结构。通过实例解析动态规划在解决最优化问题中的应用,如最长上升子序列、最长回文子串等。同时,介绍了动态规划的两种实现方法:带备忘的自顶向下和自底向上,以及设计动态规划算法的四个步骤。动态规划是解决复杂问题的有效工具,适用于存在最优子结构和子问题重叠的问题。
摘要由CSDN通过智能技术生成

14天阅读挑战赛
努力是为了不平庸~
算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算法的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~

动态规划DP

“动态规划”,概述】
动态规划 (dynamic programming) 与分治方法相似,都是通过组合子问题的解来求解原问题(在这里, "programming"指的是一种表格法)
动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题),动态规划算法对每个子子问题只求解一次,将其解保存在一个表格中,从而无需每次求解一个子子问题时都重新计算,避免了不必要的计算工作。

什么时候考虑用动态规划

什么时候考虑动态规划/可以用动态规划求解的问题的特征/】应用动态规划方法求解的最优化问题应该具备的两个要素:最优子结构和子问题重叠。需要在给定约束条件下优化某种指标、问题可分解为彼此独立且离散的子问题时,考虑用动态规划算法。若一个问题的最优解,其内部包含的所有子问题解也必须最优,则该问题呈现了“最优子结构”,具有此结构特征的问题可能会使用动态规划。

极客时间
动态规划问题一定具备以下三个特征
1.重叠子问题:在穷举的过程中(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Abner_iii

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

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

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

打赏作者

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

抵扣说明:

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

余额充值