有趣的算法问题12——跳跃游戏1(贪心算法) 所有算法均是用C++编写 所有题目均是来自计蒜客 ……我好想回炉重造。 题目 给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳…
标签:贪心算法
贪心算法------单源最短路径问题(Dijkstra)
1.问题描述 给定一个带权有向图G=(V,E),每条边的权值都是非负实数,另外,给定一个源点,计算从源点到其他各个顶点的最短路径长度 2.算法设计 &nbs…
贪心算法之钱币找零问题
贪心算法的定义:贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略…
贪心算法 - 最小生成树 Kruskal算法
关于最小生成树的概念,请参考前一篇文章:Prim算法。 Kruskal算法: 不停地循环,每一次都寻找两个顶点,这两个顶点不在同一个真子集里,且边上的权值最小。 把找到的这两个顶点联合起来。 初始时,每个顶点各自属于自己…
贪心算法 - 哈夫曼编码 Huffman
哈夫曼编码: 一种字符编码方式,常用于数据文件压缩。压缩率通常在20%~90%。 主要思想: 采取可变长编码方式,对文件中出现次数多的字符采取比较短的编码,对于出现次数少的字符采取比较长的编码,可以有效地减小总的编码长度…
贪心算法 - 删数问题
删数问题: 给定一个n位正整数a,删掉其中任意k(k<=n)个位,剩下的为按原顺序形成一个新的正整数。 找出剩下的数字最小的删树方案。 输入:a>0,n位,0<k<=n。 输出:最小的剩下的数。 …
蓝桥杯-算法提高(贪心算法):快乐司机(Java)
问题描述: 问题描述 ”嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙” 这是儿歌“快乐的小司机”。话说现在当司机光有红心不行,还要多拉快跑。…
贪心算法 圣诞老人的礼物
贪心选择是每次都要收录单位重量价值最大的礼物 #include <iostream> #include <stdio.h> #include <memory.h> #include &…
贪心算法之田忌赛马
贪心策略如下: 如果田忌最快的马比齐王最快的马快 则田忌最快的马必定胜一场,最优策略是消耗掉齐王最快的马。 如果田忌最快的马比齐王最快的马慢 则齐王最快的马必定胜一场,最优策略是用田忌最慢的马去消耗齐王最快的马 如果田忌…
贪心算法之钓鱼
枚举在第i个湖结束钓鱼,那么花在路上的时间确定。贪心策略是每次在鱼剩余最多的地方钓鱼,如果有多个湖,则取编号最小的 出列,更新再入列 #include <iostream> #include <stdi…
删数问题-贪心算法-Python
问题描述: 在给定的n个数字的数子串,删除其中k(k<n)个数字后,剩下的数字按照原次序组成一个新的正整数。使得剩下的数字组成的新正整数最大。 问题分析: 贪心思想,每次从左到右,删除第一个小于后者的元素,如果没有…
贪心算法及几个常用的例题
贪心算法: 一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策…