算法学习笔记——贪婪

一个、基本概念

所谓贪婪算法的手段。当问题解决,在目前看来总是做出最好的选择。

那。不能从整体上最好考虑,他提出的最佳解决方案,只有一个部分有义。

没有固定的算法贪心算法框架,关键是要选择贪心算法设计策略。

,贪心算法不是对全部问题都能得到总体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响曾经的状态,仅仅与当前状态有关。

所以对所採用的贪心策略一定要细致分析其是否满足无后效性。

二、贪心算法的基本思路

    1.建立数学模型来描写叙述问题

    2.把求解的问题分成若干个子问题

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

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

三、贪心算法适用的问题

贪心策略适用的前提是:局部最优策略能导致产生全局最优解。

实际上。贪心算法适用的情况非常少。一般。对一个问题分析是否适用于贪心算法。能够先选择该问题下的几个实际数据进行分析,就可做出推断。

四、贪心算法的实现框架

从问题的某一初始解出发。
    while (能朝给定总目标前进一步)
   
          利用可行的决策。求出可行解的一个解元素。
    }
    由全部解元素组合成问题的一个可行解;

五、贪心策略的选择

由于用贪心算法仅仅能通过解局部最优解的策略来达到全局最优解,因此,一定要注意推断问题是否适合贪心算法策略,解决方案必须找到如果问题的最优解。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/yxwkf/p/4678642.html