码迷,mamicode.com
首页 > 其他好文 > 详细

贪心大法的几个问题

时间:2015-08-07 19:10:16      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:

最小生成树Prim算法Kruskal算法都是漂亮的贪心算法。

贪心法的应用算法有Dijkstra的单源最短路径和Chvatal的贪心集合覆盖启发式
贪心算法可以与随机化算法一起使用,具体的例子就不再多举了。
很多的智能算法(也叫启发式算法),本质上就是贪心算法和随机化算法结合。
这样的算法结果虽然也是局部最优解,但是比单纯的贪心算法更靠近了最优解。
 

一.把3/7和13/23分别化为三个单位分数的和

设a、b为互质正整数,a<b 分数a/b 可用以下的步骤分解成若干个单位分数之和:
步骤一: 用b 除以a,得商数q1 及余数r1。(r1=b - a*q1)
步骤二:把a/b 记作:a/b=1/(q1+1)+(a-r1)/b(q1+1)
步骤三:重复步骤2,直到分解完毕
3/7=1/3+2/21=1/3+1/11+1/231
13/23=1/2+3/46=1/2+1/16+1/368
斐波那契的求解埃及分数的贪心算法:
设某个真分数的分子为a,分母为b;
把b除以a的商部分加1后的值作为埃及分数的某一个分母c;
将a乘以c再减去b,作为新的a;
将b乘以c,得到新的b;
如果a大于1且能整除b,则最后一个分母为b/a;算法结束;
或者,如果a等于1,则,最后一个分母为b;算法结束;
否则重复上面的步骤。

贪心大法的几个问题

标签:

原文地址:http://www.cnblogs.com/dzzy/p/4711352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!