• 贪心算法


    贪心算法

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。

    算法思路

    贪心算法一般按如下步骤进行:
    ①建立数学模型来描述问题 。
    ②把求解的问题分成若干个子问题 。
    ③对每个子问题求解,得到子问题的局部最优解 。
    ④把子问题的解局部最优解合成原来解问题的一个解 。 

    使用条件

    利用贪心法求解的问题应具备如下2个特征
    1、贪心选择性质
    一个问题的整体最优解可通过一系列局部的最优解的选择达到,并且每次的选择可以依赖以前作出的选择,但不依赖于后面要作出的选择。这就是贪心选择性质。对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解
    2、最优子结构性质
    当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。问题的最优子结构性质是该问题可用贪心法求解的关键所在。在实际应用中,至于什么问题具有什么样的贪心选择性质是不确定的,需要具体问题具体分析 。

    存在问题

    贪心算法也存在如下问题: 
    1、不能保证解是最佳的。因为贪心算法总是从局部出发,并没从整体考虑
    2、贪心算法一般用来解决求最大或最小解
    3、贪心算法只能确定某些问题的可行性范围。
     

    因上求缘,果上努力~~~~ 作者:每天卷学习,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/13618668.html

  • 相关阅读:
    usaco-4.1-nuggets-passed
    usaco-3.4-rockers-passed
    usaco-3.4-fence9-passed
    usaco-3.4-heritage-passed
    usaco-3.3-game1-passed
    usaco-3.3-range-passed
    usaco-3.3-camelot-passed
    6.23课堂作业
    初识JVM虚拟机
    JDK安装以及配置环境变量的步骤
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/13618668.html
Copyright © 2020-2023  润新知