一、分治法 递归,找最大值最小值,整数相乘,归并排序,快速排序,线性时间选择,最近点对问题 二、动态规划 0-1背包问题 ,矩阵相乘问题,装配线调度问题,最长公共子序列,最优二分检索树,凸多边形最优三角剖分 三、贪心法 背包问题,活动选择问题,哈夫曼编码,最小生成树算法(Kruskal 和 Prim ...
分类:
编程语言 时间:
2019-08-12 23:38:19
阅读次数:
123
活动选择问题是一类任务调度的问题,目标是选出一个最大的互相兼容的活动集合。例如:学校教室的安排问题,几个班级需要在同一天使用同一间教室,但其中一些班级的使用时间产生冲突,一些班级的时间是兼容的,我们需要找出最大的相互兼容的这样一个集合。实际上,运用‘贪心’的思想,可以准确又效率的找出这样一个集合,但 ...
分类:
其他好文 时间:
2018-03-12 01:01:18
阅读次数:
178
《算法导论》读书笔记之第16章 贪心算法—活动选择问题 前言:贪心算法也是用来解决最优化问题,将一个问题分成子问题,在现在子问题最优解的时,选择当前看起来是最优的解,期望通过所做的局部最优选择来产生一个全局最优解。书中先从活动选择问题来引入贪心算法,分别采用动态规划方法和贪心算法进行分析。本篇笔记给 ...
分类:
编程语言 时间:
2018-02-25 14:41:10
阅读次数:
309
通常用于最优化问题,我们做出一组选择来达到最优解。每步都追求局部最优。对很多问题都能求得最优解,而且速度比动态规划方法快得多。 16.1 活动选择问题 按结束时间排序,然后选择兼容活动。 定理16.1 考虑任意非空子问题Sk,令am是Sk中结束时间最早的活动,则am在Sk的某个最大兼容活动子集中。 ...
分类:
编程语言 时间:
2017-08-21 17:03:01
阅读次数:
351
贪心算法贪心算法并不能保证得到最优解,但很多问题确实可以得到最优解比如活动选择问题活动选择问题
活动选择问题。是一个调度竞争共享资源的多个活动问题,目标是选出最大的互相兼容的活动集合。假定有要给n个活动的集合,使这些活动使用同一个资源,而这个资源在某个时刻只能供一个活动使用。每个活动都有一个开始时间和一个结束时间。如果被选中,任务发生在半开时间区间。如果两个活动不重叠则称他们是兼容的。在活动选择问...
分类:
其他好文 时间:
2016-07-19 10:10:05
阅读次数:
194
用动态规划方法求解活动选择问题,与贪心算法相比,显然是庞然大物,大材小用了,贪心算法可以非常简洁的求解活动选择问题 动态规划: 代码中添加了a0和a12作为伪活动,辅助问题求解! ...
分类:
编程语言 时间:
2016-07-17 21:03:21
阅读次数:
315
这篇文章主要用来记录我对《算法导论》 贪心算法一章中的“活动选择问题”的动态规划求解和贪心算法求解 的思路和理解。 主要涉及到以下几个方面的内容: ①什么是活动选择问题 粗略提下,详细请参考《算法导论》 ②活动选择问题的DP(Dynamic programming)求解--DP求解问题的思路 ③活动 ...
分类:
编程语言 时间:
2016-06-10 17:53:13
阅读次数:
481
此问题为算法导论的课后题,为了方便以后查看,查阅了有关计算复杂性和图论的一些相关内容,花了一些时间记录一下。1.问题描述:假定有一组活动,我们需要将它们安排到一些教室,任意活动都可以在任意教室进行,我们希望使用最少的教室完成所有活动。设计一个高效的贪心算法求每一个活动应该在哪个教室进行。
(这个问题成为区间着色问题)。我们可以构造一个区间图,顶点表示给定的活动,边连接不兼容的活动。要求使用最少的颜...
分类:
其他好文 时间:
2016-05-07 07:25:09
阅读次数:
594
问题描述:设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si <fi。如果选择了活动i,则它在半开时间区间[si, fi)内占用资源。若区间[si,...
分类:
编程语言 时间:
2015-11-28 06:32:21
阅读次数:
2307
贪心算法是使所做的选择看起来都是当前最优的,通过所做的局部最优选择来产生一个全局最优解。
其具有的性质如下:
1)贪心选择性质:一个全局最优解可以通过局部最优(贪心)选择来达到。即,在考虑如何做选择时,我们只考虑对当前问题最佳的选择而不考虑子问题的结果。
这一点是贪心算法不同于动态规划之处:在动态规划中,每一步都要做出选择,但是这些选择依赖于子问题的解。因此,解动态规划问...
分类:
编程语言 时间:
2015-07-18 12:45:42
阅读次数:
2177