贪心算法

✍ dations ◷ 2024-09-20 12:37:32 #代数,算法

贪心算法(英语:greedy algorithm),又称贪婪算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。比如在旅行推销员问题中,如果旅行员每次都选择最近的城市,那这就是一种贪心算法。

贪心算法在有最优子结构的问题中尤为有效。最优子结构的意思是局部最优解能决定全局最优解。简单地说,问题能够分解成子问题来解决,子问题的最优解能递推到最终问题的最优解。

贪心算法与动态规划的不同在于它对每个子问题的解决方案都做出选择,不能回退。动态规划则会保存以前的运算结果,并根据以前的结果对当前进行选择,有回退功能。

贪心法可以解决一些最优化问题,如:求图中的最小生成树、求哈夫曼编码……对于其他问题,贪心法一般不能得到我们所要求的答案。一旦一个问题可以通过贪心法来解决,那么贪心法一般是解决这个问题的最好办法。由于贪心法的高效性以及其所求得的答案比较接近最优结果,贪心法也可以用作辅助算法或者直接解决一些要求结果不特别精确的问题。

实现该算法的过程:
从问题的某一初始解出发;while 能朝给定总目标前进一步 do,求出可行解的一个解元素;
最后,由所有解元素组合成问题的一个可行解。

最小生成树的算法如Prim算法、Kruskal算法均为贪心算法,其中Prim算法是对图上的节点贪心,而Kruskal算法是对图上的边贪心。

相关

  • 4s2 3d52, 8, 13, 2蒸气压第一:717.3 kJ·mol−1 第二:1509.0 kJ·mol−1 第三:3248 kJ·mol−1 (主条目:锰的同位素锰是原子序为25的化学元素,其元素符号为Mn。锰不会以元素
  • 病理性赌博赌博成瘾或问题赌博(Ludomania)是一种持续需要赌博的心理,尽管患者明知其负面危害,又或希望停止。问题赌博的定义,在于赌徒或其他人受到伤害,而不是赌徒的行为会否构成伤害。对于
  • 阿兹特克阿兹特克,又译阿兹台克、阿兹提克,是存在于14世纪至16世纪的墨西哥古文明,主要分布在墨西哥中部和南部,因阿兹特克人而得名。阿兹特克人包括墨西哥谷地的多个民族,以操纳瓦特尔语
  • 恋内衣恋内衣是指与内衣相关的恋物癖,这些恋物癖者会从观看、穿脱、嗅闻某些类型的贴身衣物(包括胸罩、内裤、丝袜、裤袜)等而产生性兴奋,无论是实体的、或是描绘其内容的图像皆然。某
  • 海林檎纲海林檎(cystoids)是已灭绝的一类棘皮动物,是棘皮动物中骨骼组织最简单的一纲。形状为球形,与苹果类似,故名(林檎为苹果的古称)。它们和海百合有惊人的相似处,都是利用茎节附着在基底
  • 百事可乐百事可乐(英语:Pepsi)是美国百事公司推出的一种可乐,也是可口可乐的主要竞争对手。在全球总的可乐市场中,可口可乐占据上风;但在加拿大的魁北克省、印度,百事可乐销量却比可口可乐
  • 熊蜂熊蜂属(),是蜜蜂科的一类。多筑巢于枯木至建筑物内。以花粉和花蜜为食。熊蜂与蜜蜂有很多不同处,像后脚具有胫距,而蜜蜂则无;熊蜂和蜜蜂一样是社会性昆虫,但不如蜜蜂紧密;一到秋末或
  • 天卫十五表面特征列表本表列出已命名的天卫十五的地质特征。天卫十五的撞击坑,以欧洲民间传说中的恶作剧妖精命名。
  • 文人国文人国(朝鲜文: 차정혁;英文: Mun In-Guk;1978年9月28日-)朝鲜足球运动员。曾身披11号队服代表朝鲜国家足球队出战2010年世界杯足球赛。此前22次参加国家队打世界杯预选赛。
  • 桂溪街道 (成都市)桂溪街道,是中华人民共和国四川省成都市武侯区下辖的一个乡镇级行政单位,由成都高新技术产业开发区代管。桥头溪乡下辖以下地区:三瓦窑社区、和平社区、益州社区、永安社区、双