动态规划和贪心算法都是一种递推算法
均有局部最优解来推导全局最优解
不同点:
贪心算法:
1.贪心算法中,作出的每步贪心决策都无法改变,因为贪心策略是由上一步的最优解推导下一步的最优解,而上一部之前的最优解则不作保留。
2.由(1)中的介绍,可以知道贪心法正确的条件是:每一步的最优解一定包含上一步的最优解。
动态规划算法:
1.全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有最优解
2.动态规划的关键是状态转移方程,即如何由以求出的局部最优解来推导全局最优解
3.边界条件:即最简单的,可以直接得出的局部最优解
==============================================================================
贪心算法与动态规划
贪心法的基本思路:
动态规划和贪心算法的比较
最新推荐文章于 2023-05-12 21:41:10 发布
动态规划和贪心算法都是求解最优化问题的方法,它们都基于最优子结构。动态规划通过记录所有子问题的解来找到全局最优解,而贪心算法在每个步骤选择局部最优解,但不保证全局最优。动态规划适用于存在重叠子问题的情况,而贪心算法适用于问题可通过局部最优解推导全局最优解的情况。0--1背包问题适合用动态规划解决,而0--1分数背包问题则适合贪心算法。
摘要由CSDN通过智能技术生成