上次写的0-1背包问题解决方法是动态规划,其实有的人一看到0-1背包问题时第一反应就是使用贪心法来解决问题。但是贪心法求的结果并不一定就是最优解,举个例子: 用word画的,质量不是很好,凑合着看吧先。。。 可以看出来,贪心法先放最大的最后却不一定得到最大的价值。所以用贪心法解决 ...
贪心算法 原理:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。 特性:贪心算法采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题,通过每一步贪心选择,可得到问题 ...
2020-11-12 11:49 0 457 推荐指数:
上次写的0-1背包问题解决方法是动态规划,其实有的人一看到0-1背包问题时第一反应就是使用贪心法来解决问题。但是贪心法求的结果并不一定就是最优解,举个例子: 用word画的,质量不是很好,凑合着看吧先。。。 可以看出来,贪心法先放最大的最后却不一定得到最大的价值。所以用贪心法解决 ...
#include "stdafx.h"#include <iostream>using namespace std; void GreedySelector1(int n, int s[ ...
算法思想:贪心算法 实际问题:活动安排问题 编写语言:Java 问题描述 设有n个活动的集合 E = {1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动 i 都有一个要求使用该资源的起始时间 si 和一个结束时 ...
问题描述: 给定11个活动的开始时间和结束时间,问怎么安排能使安排的活动数最多? 贪心策略: 优先安排最早结束的活动 【优先安排最早开始的活动问题在于,当该活动的持续时间过长时,不是最优解】 【优先安排持续时间最短的活动问题在于,该活动可能跨过两个活动的结束和开始时间,不是最优解 ...
一、贪心算法的基本思想 在求解过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解。 从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用 ...
问题描述: 设有n个活动的集合E={1,2,…,n},其中,每个活动都要求使用同一资源,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<fi。如果选择了活动i,则它在半开时间区间[si,fi)内占用资源。若区间[si,fi ...
题目链接:http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=4809 思路: 能放在一个会场里的活动的前提是,当前活动的开始时间大于等于上一个活动的结束时间。 首先把一个活动的开始时间和结束时间放在两个数组中再进行排序,这样得到的就是最小 ...
一、贪心算法的特点 顾名思义,贪心算法总是做出在当前看来是最好的选择。虽然贪心算法并不从整体最优上加以考虑,它所做出的选择只是在某种意义上的局部最优选择。 贪心算法的优点是更简单,更直接且解题效率更高,即使贪心算法不能得到整体最优解,但其最终结果却是最优解的很好的近似解。 二、贪心 ...