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


    贪心算法的原理与设计

        贪心算法的设计步骤

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

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

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

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

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




  • 相关阅读:
    shell脚本检查文件是否存在
    自己制作rpm软件包(1)
    lsusb是如何工作的
    Linux脚本Shell命令之葵花宝典
    Linux中find常见用法示例
    RPM包制作
    VIM查找替换归纳总结
    vim全局替换命令
    自己制作rpm软件包(2)
    linux shell编程if语句内判断参数
  • 原文地址:https://www.cnblogs.com/yml435/p/4655576.html
Copyright © 2020-2023  润新知