贪心算法

来源:互联网 发布:java 停止线程 编辑:程序博客网 时间:2024/04/30 10:13

贪心算法的概念:

贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。

贪心算法的基本要素:

1.最优子结构性质

2.贪心选择性质:指所求问题的最优解可以通过一系列的局部最优解,及贪心选择来达到。

3.贪心算法和动态规划的区别:可以用贪心算法解决的都可以用动态规划来解决,用动态规划能解决的不一定能用贪心算法解决(必须满足贪心选择性质才可以)。

基本思路


⒈建立数学模型来描述问题。

⒉把求解的问题分成若干个子问题。

⒊对每一子问题求解,得到子问题的局部最优解。

⒋把子问题的解局部最优解合成原来解问题的一个解。

实现该算法的过程:

从问题的某一初始解出发;

while 能朝给定总目标前进一步 do

求出可行解的一个解元素;

由所有解元素组合成问题的一个可行解。

这是360百科对贪心算法的总结:http://baike.so.com/doc/5722655-5935386.html#5722655-5935386-3

0 0
原创粉丝点击