Advertisement

五大常用算法 | 贪心算法

阅读量:

贪心算法原理与应用

一、基本概念:

所谓贪心算法,是指在对问题进行求解时,总是基于当前状态作出最优的选择。换句话说,这种策略并不从整体最优的角度出发,其选择结果仅能保证在特定条件下的局部最优解。

贪心算法并不存在统一的算法结构,其核心在于如何确定合适的贪心策略。需要特别指出的是,并非所有问题都适用于贪心算法,所选择的策略必须满足无后效性这一特征。也就是说,在某一状态之后的发展不会对之前的状态造成影响,仅与当前所处的状态相关。

因此,在应用贪心策略时,必须对其是否具备无后效性进行深入分析和判断。

二、贪心算法的基本思路:

  1. 构建数学模型以描述所要解决的问题。
  2. 将整个问题划分为若干个子问题。
  3. 针对每个子问题进行求解,并获取其对应的局部最优解。
  4. 将各个子问题的局部最优解整合起来,从而形成原问题的整体解决方案。

三、贪心算法适用的问题

适用贪心策略的前提是:通过局部最优的选择能够最终实现全局最优的结果。

实际上,在多数情况下,并不适合采用贪心算法来解决问题。通常来说,在判断某个问题是否适用于该方法时,可以通过选取该问题中的几个具体实例数据来进行分析和验证。

四、贪心算法的实现框架

从一个初始可行解开始;

while(能够继续向目标迈进)

{

利用可行的方法选择出一个

全部评论 (0)

还没有任何评论哟~