随笔分类 - 贪心算法
摘要:一.问题描述 N个独立的作业{1,2,…,n},m台相同的机器。每个作业需要在机器上加工ti时间。每个作业不能拆分成更小的作业,只能在一台机器上完成,而且处理过程不能中断.如何调度,使得全部作业在最短时间内完成? 当n ≤ m时,很简单。 当n > m时,属于NP完全难题,迄今未有效解决。 二.解题
阅读全文
摘要:一.问题描述 有向图G的每条边都有一个非负的长度c [i][j],路径的长度即为此路径所经过的边的长度之和。 给定一个源点,求出从源点出发,到该有向图中其它各顶点的最短路径. 二.解题思路 Dijkstra算法是解决单源最短路径问题的贪心算法。其基本思想是: 一个例题: 表格中默认选取的起始顶点为1
阅读全文
摘要:一.问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 树的带权路径长度:树中所有叶子结点的带权路径长度之和,通常记作:WPL = Σwi*li (i=1~n) 哈夫曼树,Huffman树定义:在权为w1,w2,…,wn的n个叶子结点的所有二叉树中,带权
阅读全文
摘要:一.贪心算法的基本概念 贪心算法也称为优先策略 顾名思义是“择优录取”,在某些方面的应用是非常成功的,也是我们设计算法时经常使用的一种策略。国外叫做Greedy method,意即见到好的就抓住不放。它并不一定对所有问题都成功,但是对某些问题特别简单、有效。 在贪婪算法中采用逐步构造最优解的方法。在
阅读全文
摘要:一.问题描述 n个活动的集合E={1,2,…,n},在某一时间内要独占使用某个资源。每个活动i使用资源的起始时间为Si,终止时间为Fi。 活动i和活动j相容:是指[Si,Fi)与[Sj,Fj)不相交,即:Sj>=Fi 或Si>=Fj, 要求尽可能多地安排活动。即从活动集合E中选出最大相容活动子集。
阅读全文

浙公网安备 33010602011771号