贪心算法、记忆化搜索、动态规划汇总

写在前面

参考网站:
小部分语句来自百度百科
记忆化搜索专题
贪心与动态规划的区别

什么是贪心算法

贪心选择是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到.
核心思想:
解决最优化问题
期望通过局部最优解得到全局最优解
每一步选择当前最佳
使用了贪心算法的算法
求最小生成树的普里姆算法和克鲁斯卡尔算法
求单源最短路径的迪杰斯特拉算法
哈弗曼编码

什么是动态规划

动态规划:先将问题分解为子问题,并且对于这些分解的子问题自身是最优的才能在这个基础上得出我们要解决的问题的最优方案.
通过记忆化搜索,重叠子问题只计算一次

什么是记忆化搜索

记忆化搜索=搜索的形式+动态规划的思想
搜索过程中会有很多重复计算,通过记录一些状态的答案减少重复搜索量.
搜索过程中一个搜索结果必须可以建立在同类型问题的结果上

贪心算法与动态规划的区别

一、
贪心算法是从局部最优来解决问题
动态规划是从全局最优来解决问题
二、
动态规划不可能在子问题还没有得到最优解的情况下就做出决策
必须等待子问题得到最优解之后才对当下的情况做出决策
贪心算法是先做出一个决策,然后再去解决子问题

01背包为何不能用贪心

有3种物品,背包容量为50公斤
物品1重10公斤,价值60元
物品2重20公斤,价值100元
物品3重30公斤,价值120元
因此物品1每公斤价值6元,物品2每公斤价值5元,物品3每公斤价值4元
依据贪心
首选物品1,背包剩40公斤
然后选物品2,背包剩20公斤
盛不下物品3了,总收益是160
而最优方案是选择物品2和物品3,得220元
所以0-1背包用贪心不能保证全局最优
0-1背包问题不能用贪心,背包问题可以用贪心
因为0-1背包问题每次装单位重量价值最高的物品,无法保证最终能将背包装满,部分闲置的背包空间使每公斤背包空间的价值降低了,可能达不到全局最优解.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值