原文:贪心算法-----单线程:活动安排问题 多线程:多机调度问题

一 贪心算法的特点 顾名思义,贪心算法总是做出在当前看来是最好的选择。虽然贪心算法并不从整体最优上加以考虑,它所做出的选择只是在某种意义上的局部最优选择。 贪心算法的优点是更简单,更直接且解题效率更高,即使贪心算法不能得到整体最优解,但其最终结果却是最优解的很好的近似解。 二 贪心算法的理解 由于涉及到在做出在当前看来最好的选择,所以会经常采用排序算法,推荐使用快速排序算法,复杂度是O nlgn ...

2015-05-04 21:52 2 10901 推荐指数:

查看详情

贪心算法-活动安排问题

算法思想:贪心算法 实际问题活动安排问题 编写语言:Java 问题描述   设有n个活动的集合 E = {1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动 i 都有一个要求使用该资源的起始时间 si 和一个结束时 ...

Sat May 25 06:10:00 CST 2019 0 1257
贪心算法之区间调度问题

什么是贪心算法呢?贪心算法可以认为是动态规划算法的一个特例,相比动态规划,使用贪心算法需要满足更多的条件(贪心选择性质),但是效率比动态规划要高。 比如说一个算法问题使用暴力解法需要指数级时间,如果能使用动态规划消除重叠子问题,就可以降到多项式级别的时间,如果满足贪心选择性质,那么可以进一步降低 ...

Mon Feb 17 20:24:00 CST 2020 1 774
贪心算法活动安排问题

问题描述: 给定11个活动的开始时间和结束时间,问怎么安排能使安排活动数最多? 贪心策略: 优先安排最早结束的活动 【优先安排最早开始的活动问题在于,当该活动的持续时间过长时,不是最优解】 【优先安排持续时间最短的活动问题在于,该活动可能跨过两个活动的结束和开始时间,不是最优解 ...

Wed Nov 28 19:31:00 CST 2018 0 2367
[C++] 贪心算法活动安排、背包问题

一、贪心算法的基本思想   在求解过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解。   从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用 ...

Thu May 25 04:06:00 CST 2017 0 11404
任务调度问题1—贪心算法

这个问题是《算法导论》上的一个经典的贪心算法问题——单处理器上具有期限和惩罚的单位时间任务调度问题,目标是使惩罚最小。 输入:第一行一个数n,接下来第2行到第n+1行,第i行分别是d[i]和w[i],其中d[i]表示第i个任务的时限,w[i]表示第i个任务的惩罚,每个任务的完成时间为单位时间 ...

Sat Oct 13 02:50:00 CST 2012 0 5637
贪心算法-区间调度问题解之证明

一、贪心算法    定义:一个算法贪心算法,如果它是通过一些小的步骤来一个求解,并且在每一步根据局部情况选择一个决定,使得某些主要的指标得到优化。 二、区间调度问题   1. 问题:我们有一组需求{1,2,3,......,N},第i个需求与一个开始时间s(i),结束时间f(i)相对 ...

Sat Mar 03 18:44:00 CST 2018 0 1302
贪心算法 ------最小延迟调度问题

1.最小延迟调度问题描述 f(i) 表示某任务 开始的时间。 ti 表示 某任务 加工的时间 di 表示 某任务 要求完成的时间 延迟: f(i)+ti-di 如果 实际完成的时间 小于 规定完成时间,那么,就没有 延迟。延迟就是拖延,如果你在规定时间内(<=规定 ...

Mon Oct 09 18:44:00 CST 2017 0 6921
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM