分治、贪心、动态规划的简单理解

本文深入探讨了三种算法策略:分治、贪心与动态规划。分治法通过递归解决子问题并合并结果;动态规划用于解决具有重叠子问题的情况,通过递归加备忘录或逆序递推实现;贪心法则在每一步都选择局部最优解。文章详细解析了各自的特点、适用场景及必要条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分治、贪心、动态规划都是要将问题划分为一个子问题,然后通过解决子问题进而求解最终问题

分治:

将问题分解为结构相似独立子问题,递归求解各个子问题,然后合并子问题的解来求解最终问题。

动态规划:

适用于子问题存在重叠的情况,各个子问题包含公共子子问题,并且下一个阶段的求解是建立在上一个阶段的基础上,也就是说当前状态是对之前所有状态的总结。主要有两种:递归+备忘录逆序递推

需要满足:有重叠子问题;最优子结构;无后效性

贪心:

总是作出当前看起来是最好的选择,不从整体上加以考虑

必须满足:最优子结构和无后效性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值