博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
贪心算法(greedy algorithm)
阅读量:5088 次
发布时间:2019-06-13

本文共 536 字,大约阅读时间需要 1 分钟。

1. 基本思想

贪心算法是最直观的算法设计范式之一。利用贪心算法的求解方式与递归调用极为相似,都是先把问题分割成几个子问题,并在每个阶段生成一部分答案。

从这一点(原问题 ⇒ 多个规模更小的子问题)上看贪心算法和穷举搜索算法以及动态规划算法并无太大区别。不过,与“先考虑所有选项,然后再找出最优解(也即并不确定当前阶段哪个结果对应于最好的结果)”的穷举搜索算法和动态规划算法不同的是,贪心算法在每个阶段即可找出当前最优解,贪心算法也不会考虑当前选择对以后选择的影响。

  • 穷举/动态 ⇒ 全局
  • 贪心 ⇒ 局部

这也就造成了,很多情况下,贪心都无法求出最优解。因此,贪心法的使用范围主要限制在以下两种情况:

  • 即使使用贪心法也能求出最优解。贪心法比动态规划算法具有更快的运算速度,故在这种情况下,贪心算法会十分有优势。

  • 因时间和空间限制而无法利用其它算法求出最优解时,可利用近似解替代最优解。这种情况下,利用贪心法求出的解虽然不是最优解,但比其他答案更接近最优解。

2. 理解

  • 同一个问题也可对应多个不同的贪心策略,也即本质上贪心对应于一种assumption,一种认为最优的假定;

转载于:https://www.cnblogs.com/mtcnn/p/9423829.html

你可能感兴趣的文章
Redis Cluster高可用集群在线迁移操作记录【转】
查看>>
二、spring中装配bean
查看>>
VIM工具
查看>>
javascript闭包
查看>>
@Column标记持久化详细说明
查看>>
创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备...
查看>>
mysql8.0.13下载与安装图文教程
查看>>
站立会议08(冲刺2)
查看>>
url查询参数解析
查看>>
http://coolshell.cn/articles/10910.html
查看>>
[转]jsbsim基础概念
查看>>
DIV和SPAN的区别
查看>>
第一次使用cnblogs
查看>>
C#语法糖之 session操作类 asp.net
查看>>
2015 Multi-University Training Contest 3
查看>>
使用Gitblit 在windows 上部署你的Git Server
查看>>
217. Contains Duplicate
查看>>
vue2.0 关于Vue实例的生命周期
查看>>
jenkins 更换主数据目录
查看>>
Silverlight中恼人的g.i.cs错误
查看>>