美文网首页
贪婪算法

贪婪算法

作者: 小懒额 | 来源:发表于2018-06-14 21:55 被阅读0次
1.教室调度问题

一间教室的课程表如上所示,现在如果尽可能在这个教室上最多的课,需要怎么安排课程呢?由于课程之间有冲突,无法在这个教室上所有课,所以只能去选择彼此时间不冲突的课程。
具体做法:
(1)选出结束最早的课;
(2)选择第一节课结束时间最早的课。
重复上面两个步骤。



最后在这个教室就是上这三节课。
这里的做法就是每次去找最早结束的课程,相当于每一步的最优解,最终得到的就是全局最优解。

2.背包问题

假设有三样物品,具体如下:



现在有一个最多只能装35磅的背包,需要在这些物品中选择,使得背包中物品价值最高。如果按照上面的做法就是,
(1)先找最贵的,装进去;
(2)继续找最贵的,直到背包满了。
这样最后背包里装的就是3000$的音响,事实上,选择2000$的笔记本和1500$的吉他,最后是3500$,价值最高。所以,上面的做法在这种情况下,得到的并不是最优解。但是,这种做法最后的结果也很接近最优解了,在只需要找到一个能够大致解决问题的算法时,这种做法刚好可以使用。

上面的这种做法就是经常说的贪婪算法,即每步都采取最优的做法,虽然可能不是最优解,但是很接近最优解,而且效率比较高。

相关文章

  • 代码小工蚁的#《算法图解》#学习笔记-C8贪婪算法

    代码小工蚁的#《算法图解》#学习笔记-C8贪婪算法C8 贪婪算法greedy algorithms 一、贪婪算法 ...

  • 贪婪、分治、回溯和动态规划,四种算法的比较

    贪婪算法 贪婪算法,也被称为“贪心算法”。贪婪算法分阶段地工作。在每一个阶段,都可以认为所作决定是好的,而不考虑将...

  • 读书笔记

    读书笔记/人生算法之无知、衰朽和贪婪 【标题】人生算法之无知、衰朽和贪婪 【书籍】人生算法 【01】人生算法之无知...

  • 贪婪算法

    1.贪婪算法: 每一步都采用当前局部的(这里是重点)最优的做法,最终得到全局最优解;这是一种完美算法,要找到最优的...

  • 贪婪算法

    3.集合覆盖问题 现在有个广播节目,需要让全美50个州的听众收听。每个广播台都覆盖特定的区域,不同广播台覆盖区域可...

  • 贪婪算法

    1.教室调度问题 一间教室的课程表如上所示,现在如果尽可能在这个教室上最多的课,需要怎么安排课程呢?由于课程之间有...

  • 贪婪算法

    贪婪算法(Greedy Algorithm)也叫算贪心法,贪婪法.它是一个遵循启发式解决问题的算法范式.它的核心思...

  • 贪婪算法

    贪婪算法:选择局部最优解达到全局最优 区间调度问题 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不...

  • 贪婪算法

    假设某节目要覆盖以下省份: 各个电视台的覆盖范围如下: 解决思路: step1: 选出一个覆盖了最多未覆盖省份的电...

  • 贪婪算法

    在求解一个问题的过程中,每次选择都是当前最优解(即局部最优解,而非全局最优解) 贪婪算法使用场景:1,遇到NP完全...

网友评论

      本文标题:贪婪算法

      本文链接:https://www.haomeiwen.com/subject/ehsueftx.html