学习要点:1、概念2、基本要素(+与动态规划算法的差异)3、应用范例:(1)活动安排问题(2)最优装载问题(3)哈夫曼编码(4)最优服务次序问题(5)最小生成树(6)最大边权值最小的生成树(7).......1、概念贪心算法总是作出当前看来是最好的选择。也就是说贪心算法并不从整体最优上加以考虑,它所...
分类:
其他好文 时间:
2014-07-22 23:12:53
阅读次数:
413
题目:
在数轴上有n个区间,每个区间都是连续的整数区间。现在要在数轴上任取一堆元素,构成一个集合V,要求每个区间和V的交集至少有两个不同的元素。求V的最小的元素个数。
问题分析:
可以使用贪心算法,最终结果肯定是小于大于2×n的,如果两个集合之间有相同的元素,那么选相同的元素必然会使结果更小,当我们以e排序后,如果有相同的必然是最后的元素。所以贪心的策略就是如果一个区间最...
分类:
其他好文 时间:
2014-05-07 04:04:23
阅读次数:
294
前言
学无止境。算法博大精深啊,一个贪心算法里面就隐含了这么多不同的场景实现,每个场景下的算法就有多种不同的实现,个人写法不一也成就了各种不同的漂亮算法,看了这些实现,也让我开拓了思维,这个世界的方案永远没有最完美的只有最合适的~ !
1、贪心算法概念
贪心算法也叫贪婪算法,当然叫法随意。主要目的是在问题求解时,做出最正确的判断= =,这不是贪心是啥?在计算机工程领域当中,就是说不考虑整体最优算法而是从局部做到最优解。当然贪心是算法不能对所有的问题都能得到整体都最...
分类:
编程语言 时间:
2014-05-07 03:32:27
阅读次数:
859
算法入门经典关于区间覆盖的讲解:
8.4.6:区间覆盖问题...
分类:
其他好文 时间:
2014-04-29 13:21:23
阅读次数:
262
分析:这道题可以采用贪心算法。将节目按结束时间从小到大排序,然后判断能看几个节目。判断的方法是:这次要看的节目开始时间是否在上一个节目的结束时间之后,如果在之后,则可以看完,如果不在之后,就 pass 掉这次要看的节目,跳到下一个节目继续判断。例如排好序后:
第一个节目肯定可以看完;第二个节目开始时间在第一个节目结束时间之后,所以可以看完;第三四五个节目开始时间都在第二个节目结束时间之前,不能看完, pass 掉;第六个节目开始时间在第二个节目结束时间之后,可以看完;第七八个节目开始时间都在第六个节目结束时...
分类:
其他好文 时间:
2014-04-27 18:49:30
阅读次数:
576