zoukankan      html  css  js  c++  java
  • 算法学习笔记——贪婪

    一个、基本概念

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

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

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

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

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

    二、贪心算法的基本思路

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

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

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

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

    三、贪心算法适用的问题

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

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

    四、贪心算法的实现框架

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

    五、贪心策略的选择

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

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

  • 相关阅读:
    C#dll中无法找到c++dll中函数的入口
    C#委托及事件处理机制浅析
    lib和dll的例子
    C#中自定义消息,与MFc对比
    MFC消息响应机制 q
    MFC中消息响应机制
    C# 消息处理机制及自定义过滤方式
    c++中__declspec用法总结
    C++中使用接口
    C# 位域[flags] 转
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4678642.html
Copyright © 2011-2022 走看看