贪心算法

✍ dations ◷ 2025-11-11 18:54:32 #代数,算法

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

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

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

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

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

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

相关

  • 全基因组关联分析全基因组关联分析(Genome-wide association study)是指在人类全基因组范围内找出存在的序列变异,即单核苷酸多态性(SNP),从中筛选出与疾病相关的SNPs。GWAS为人们打开了一扇通往研
  • 罗克维尔罗克维尔 (英语:Rockville, Maryland,也被称为"石家庄")是美国马里兰州蒙哥马里县的一座城市,大约位于县的中央。2000年人口47,388人,2006年人口为59,114人,是该州第二大城市和蒙哥
  • 纳罗斯海峡纳罗斯海峡(The Narrows,意为“窄堑”)是中美洲国家圣基茨和尼维斯的海峡,连接加勒比海和大西洋,分隔北面的圣基茨岛和南面的尼维斯岛,其很狭窄,最窄处仅3公里。
  • 2008年泰国政治危机2008年泰国政治危机肇始于2008年8月26日清晨爆发的大规模反政府示威;泰国总理沙马·顺达卫9月2日早上宣布紧急状态令。此事件导致最终由人民民主联盟支持的民主党联合小党上
  • 库尔特·哈恩库尔特·哈恩,CBE(德语:Kurt Hahn,1886年6月5日-1974年12月14日)是一名德国犹太裔教育家,知名高中萨勒姆王宫中学、高登斯顿学校和联合世界书院的创办人,也创立了户外拓展训练。出生
  • 罗兰·马克罗兰·马克(1949年-),德国企业家。罗兰·马克生于弗莱堡,是企业家弗兰茨·马克的儿子。罗兰·马克于1969年至1974年就读卡尔斯鲁厄大学普通机械制造专业。1975年成立的鲁斯特欧洲
  • 七十五 (将军)七十五(满语:ᠴᡳᡧᡳᡠ,穆麟德:,18世纪-1803年),瓜尔佳氏,满洲正黄旗人。清朝将军。乾隆年间,作为护军从征缅甸,继而参加金川战事,作战有力,累迁护军参领,授贵州大定协副将。总督福康安荐
  • 卫星食卫星食或卫星蚀,是指人造卫星被其围绕着的天体挡住,得不到阳光照射的现象。卫星食主要影响依靠太阳能发电的人造卫星。低轨道、短周期的人造卫星在运行期间经常会出现卫星食,但
  • 碧浪 (品牌)碧浪 (英语:Ariel)是宝洁公司旗下的一个洗涤用品品牌,主要产品为洗衣粉、洗衣液及胶囊装的洗衣球。碧浪为全球化洗衣粉品牌之一。最初是在英国发售。碧浪品牌的英文为“Ariel”,
  • 齿蕊科齿蕊属 齿蕊科又名翼蕊木科,只有1属3种,都生长在墨西哥南部。本科植物为灌木,有刺,单叶互生,边缘有齿,叶面光亮;花类似蔷薇,花瓣5,有柄,雄蕊顶端有齿和翼,名称由此而来;果实为蒴果。1981