算法踩坑——动态规划

算法踩坑——动态规划

“算法的核心是数学逻辑,在数学层面分析问题、解决问题,至于使用哪种数据结构和编程语言实现,完全看个人兴趣。”
————踩坑小王子


能用动态规划解决的问题特点:

1.最优子结构
局部最优解能决定全局最优解
2.重复子问题
在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不总是新问题,有些子问题会被重复计算多次。
3.无后效性
子问题的解一旦确定,就不再改变,不受在这之后、包含它的更大的问题的求解决策影响


解决问题的核心步骤:

“从上到下分析问题(递归),从下到上求解问题(迭代)”

1.分解问题
问题的最优解往往与问题规模有关,将大问题规模分解为小问题规模,小问题规模分解为更小问题规模。
2.建立递推关系
找到大问题的最优解与小问题的最优解之间的递推关系,也称作状态转移方程。
3.求出初始值
初始值是采用递归方法求解问题的递归终点(递归出口),也是采用迭代方法求解问题的迭代起点(迭代入口)。
4.迭代求解
采用迭代方法求解问题,迭代的终点即为问题的最优解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值