![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
#greedy strategy
大学摄影爱好者
这个作者很懒,什么都没留下…
展开
-
greedy策略求解Huffman编码
Huffman编码的原理为:每次选择数据集datas中当前第1小和第2小的2个数来构建左右子树,而这2个子树的父节点则是这2个子树的和,然后将该和放入父节点的datas中,再在新的数据集中选择两个子树继续构建,直到数据集中只剩下一个数据为止。总共构建次数为n-1次。 而Huffman的greedy策略点为每次选择数据值倒数2个进行构建,因为Huffman的原则...原创 2020-01-13 20:06:43 · 381 阅读 · 0 评论 -
greedy策略求解工作选择问题物品剩余质量最大化(三)
该问题求解的是货物谁先生产的问题,由于生产完成的货物存在保质期,已完成的货物每存放一天,货物就会以一个固定的比例decay重量。且每个货物的生产时间都为一天。在所有货物生产完时,求解最终货物的最大重量。 由于是求解货物重量的最大化,所以该问题本身是一个优化问题,问题的最终目的是得到一个最优解,因此是否能够用greedy优化策略:既然是寻找最后剩余的最大货物质量...原创 2019-12-25 20:47:54 · 379 阅读 · 0 评论 -
greedy策略求解工作选择问题Loss最小化(二)
工作延时损失最小选择问题:每个工作包含工作耗时和延时损失2个属性,延时损失即该工作每延后一个小时开始做,则就损失一个loss值。注每个工作的耗时和延时损失各不相同。该问题类似于操作系统中的作业调度问题。 因此若每个工作的loss值都相同,则等价于作业调度问题,即耗时短的应当最先做,即最短最优调度算法。该算法的原理的greedy策略点是time,即当前工作耗时越短...原创 2019-12-23 11:11:08 · 338 阅读 · 0 评论 -
greedy策略求解工作选择问题(一)
工作选择问题是活动选择问题和背包问题的一个集成,因为背包问题的greedy思想是每次选择当前性价比最高的物品;同时活动选择问题的geedy思想不是选择价值最大的物品,而是根据具体的问题要求,即在所有活动结束前,一个人最多能完成多少个活动,所以活动选择问题的greedy思想是如果当前的活动能越早结束,则一个人将越能尽快的完成下一个活动,这样最后就能完成最多的活动,其中活动的结束时间和...原创 2019-12-18 10:15:38 · 400 阅读 · 0 评论 -
greedy算法计算金字塔分数问题
金字塔分数问题:将一个真分数拆分成数个分子为1的分数之和。 解决该问题的greedy方法是每次从剩余的部分选择一个分子为1的最大的分数,拆分成的金字塔所有数的特点是分母越来越大,形成一个金字塔的形状。 (1)如何每次从剩余的部分都能选择一个最大的分数,这个可以进行论证如下:证明:原真分数为a/b若接下来选择的一个分数为1/c,且1/c是最接...原创 2019-12-10 20:55:35 · 630 阅读 · 0 评论 -
greedy策略求解活动选择问题 ActivitySelectProblem
活动选择问题:有N个活动,仅安排一个人去完成,求一个人在不限时的情况下最多能完成几个活动,要求:活动包含开始时间和结束时间,活动的时间点不能变,就是说到时了,到点的活动必须开始。 这个问题为什么能够用greedy思想来求解,一个最直接的想法就是:活动已经按照时间点计划好了,我要尽可能完成多的活动,那么当前活动如果能尽快结束,我就能尽快接着去完成下一个活动,反过来如果当...原创 2019-12-04 20:05:03 · 435 阅读 · 0 评论 -
greedy算法策略高效求解分数背包问题
通过greedy可以求解分数背包问题,其中编程的关键点是对物品按照其性价比进行排序,所以本文采用前面学到的高效的排序方法:基于分治思想的归并排序法进行排序。这样实现了高效的求解分数背包问题,具体求解思维过程如下: (1)通过greedy可以求解分数背包问题,其中编程的关键点是对物品按照其性价比进行排序,所以本文采用前面学到的高效的排序方法:基于分治思想的归...原创 2019-11-27 20:42:27 · 443 阅读 · 0 评论