码迷,mamicode.com
首页 > 编程语言 > 详细

3、贪心算法的原理与设计

时间:2015-07-17 20:58:17      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

贪心算法的原理与设计

    贪心算法的设计步骤

          1、将最优化问题转化为这样的形式:对其做出一次选择后,只剩下一个子问题要求解。

                    这个问题可以引用前面得到的活动选择问题进行说明 ,如在活动选择问题中,设Aij 代表的是活动ai
                    结束后开始,且在aj结束之前进的一个子问题,于是
                                    Aij=Aik+ak+Akj
                     于我们将区间【i,j】活动的安排就变成了两个子区间【i,k】和【k,j】的优化问题,这问题进行了变化。
                    但是如果我们如果采用贪心策略,先对活动的结束时间进行排序,也就是每次都优先选择结束时间早
                    的问题,这样,我们就将问题解化了,首先,我们不需要用区间来表示了,我们只要选择活动就行了
                    ,其次,我们只有一种选择了,只剩下一个子问题需要我们进行求解,也就是在剩下的活动中,再
                    次选择结束时间最早且起始时间又符合我们要求的子问题。这样选择便只有一个了。

            2、证明贪心选择后,问题总是存在最优解,即贪心总是安全的。

            3、证明贪心选择后,剩余子问题满足性质:其最优子解与贪心选择组合后便得了原问题的最优解。           

            贪心算法可能依览之前做出的选择,如活动安排问题,但是与后面做的选择无关,也就是不依缆
            之后的选择。 




3、贪心算法的原理与设计

标签:

原文地址:http://www.cnblogs.com/yml435/p/4655576.html

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