当前位置:首页算法 > 正文

贪婪算法思想

作者:野牛程序员:2023-05-09 07:07:12算法阅读 2667

贪婪算法的思想非常简单而且算法效率很高,在一些问题的解决上有着明显的优势。贪婪算法总是做出在当前看来最好的选择。也就是说,贪婪算法并不 从整体最优考虑,它所做出的选择只是局部最优选择。虽然贪婪算法不能对所有问题都得到整体最优解,但对大部分问题它还是能产生整体最优解的。在一些 情况下,即使贪婪算法不能得到整体最优解,其最终结果却是最优解的近似解。

算法思路 

贪婪算法是一种不追求最优解,只希望得到较为满意解的方法。贪婪算法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗 费的大量时间。贪婪算法常以当前情况为基础做最优选择,而不考虑各种可能的整体情况,所以贪婪算法不要回溯。 说明 贪婪算法就是通过做局部最优(贪婪)选择来达到全局最优解。使用贪婪算法时,通常采用自顶向下的方法来解,每一步都使用最贪婪的选择,使 原问题变为一个相似的、规模更小的问题。

贪婪算法的基本思路:从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快地求得更好的解。当达到算法中的某一步不能再继续前进时,就停止 算法,给出近似解。 

由贪婪算法的特点和思路可看出,该算法存在以下问题:

1、不能保证最后的解是最优的; 

2、不能用来求最大或最小解问题;

3、只能求满足某些约束条件的可行解的范围。


该算法的实现过程如下:

从问题的某一初始解出发;
 while 
是否达到(或近似达到)设定总目标 
求出可行解的一个解元素; 
由所有解元素组合成问题的一个可行解;



野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击