贪心算法 算法描述 什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多的条件(贪心选择性质),但是效率比动态规划要高。 比如说一个算法问题使用暴力解法需要指数级时间,如果能使用动态规划消除重叠子问题,就可以降到多项式级别的时间,如果满足贪心选择性质,那 ...
分类:
编程语言 时间:
2020-04-05 00:45:41
阅读次数:
78
贪心算法 基本要素:(1)最优子结构性质 (2)贪心选择性质 贪心算法通过一系列选择来得到问题的解,所做的每个选择都是当前状态下局部最好选择,即贪心选择,但是这种策略并不总能奏效。 在动态规划算法中,每步所做的选择往往依赖于相关子问题的解,因而只有在解出相关子问题后,才能做出选择; 而在贪心算法中, ...
分类:
编程语言 时间:
2019-11-21 12:23:43
阅读次数:
78
一:概念:不考虑整体最优,做出的选择只是在某种意义上的局部最优。 二:性质 (1)贪心选择性质:指所求问题的整体最优解可以通过一系列局部最优的选择。贪心算法可行 的第一个基本要素。对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所做 的贪心选择最终导致问题的整体最优解。 (2)最优子结 ...
分类:
编程语言 时间:
2019-11-20 19:33:12
阅读次数:
54
基于贪心法的单源最短路径算法 (1)最短路径问题具有最优子结构性质,即最短路径的子路径仍然是最短路径 (2)最短路径问题具有贪心选择性质,为了求的最短路径,Dijkstra提出以最短路径长度递增,逐次生成最短路径的算法 图的ADT以及实现详见:基于相邻矩阵实现图的ADT Dijkstra算法代码: ...
分类:
其他好文 时间:
2018-12-15 21:07:50
阅读次数:
185
注意:这是背包问题,而不是0-1背包问题,背包问题可以用贪心算法进行求解,但0-1无法用贪心算法求解,需要用动态规划算法求解; 首先对贪心算法做一下总结,以及它与动态规划算法的区别: 贪心算法两个最重要的性质: (1)贪心选择性质; (2)最优子结构性质; 其中,贪心选择性质:自顶向下进行决策,每次 ...
分类:
编程语言 时间:
2018-03-30 12:15:06
阅读次数:
293
通常用于最优化问题,我们做出一组选择来达到最优解。每步都追求局部最优。对很多问题都能求得最优解,而且速度比动态规划方法快得多。 16.1 活动选择问题 按结束时间排序,然后选择兼容活动。 定理16.1 考虑任意非空子问题Sk,令am是Sk中结束时间最早的活动,则am在Sk的某个最大兼容活动子集中。 ...
分类:
编程语言 时间:
2017-08-21 17:03:01
阅读次数:
351
一,贪心算法的设计思想 ? 从问题的某一个初始解出发逐步逼近给定的目标,每一步都作一个不可回溯的决策,尽可能地求得最好的解。当达到某算法中的某一步不需要再继续前进时,算法停止。 二,贪心算法的基本性质 1)贪心选择性质 所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择 ...
分类:
编程语言 时间:
2017-02-07 22:31:42
阅读次数:
224
顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情 ...
分类:
编程语言 时间:
2017-01-31 10:33:22
阅读次数:
268
贪心算法是使所做的选择看起来都是当前最优的,通过所做的局部最优选择来产生一个全局最优解。
其具有的性质如下:
1)贪心选择性质:一个全局最优解可以通过局部最优(贪心)选择来达到。即,在考虑如何做选择时,我们只考虑对当前问题最佳的选择而不考虑子问题的结果。
这一点是贪心算法不同于动态规划之处:在动态规划中,每一步都要做出选择,但是这些选择依赖于子问题的解。因此,解动态规划问...
分类:
编程语言 时间:
2015-07-18 12:45:42
阅读次数:
2177
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
这道题具有贪心选择性质和最优子结构性质,可以用贪心算法来解决。首先可以将n个正整数转化为字符串,然后根据a+b和b+a的大小进行排序。
#include
#include
using namespace std;
int n;
string a[100];
string result = "";
int compare(...
分类:
其他好文 时间:
2015-06-25 17:33:51
阅读次数:
140