贪婪算法介绍

本文概述

“贪婪方法可从许多选项中找到, 但你必须选择最佳选项。”

在这种方法中, 我们必须从许多现有方法中找出最佳方法/选项。

在这种方法/方法中, 我们专注于第一阶段并确定输出, 而不考虑未来。

此方法可能会或可能不会提供最佳输出。

贪婪算法通过做出在特定时刻看起来最好的最佳选择来解决问题。可以使用贪婪算法确定许多优化问题。某些问题没有有效的解决方案, 但是贪婪算法可能会提供接近最佳的解决方案。如果问题具有以下两个属性, 则贪心算法将起作用:

  1. 贪婪选择属性:通过创建局部最优解可以达到全局最优解。换句话说, 可以通过创建“贪婪”选择来获得最佳解决方案。
  2. 最优子结构:最优解包含最优子解。换句话说, 最优解子问题的答案是最优的。

  1. 机器调度
  2. 小背包问题
  3. 最小生成树
  4. 霍夫曼密码
  5. 作业排序
  6. 活动选择问题

实现贪婪算法的步骤是

  1. 可行:这里我们检查它是否满足所有可能的约束条件, 以获得至少一种解决我们问题的方法。
  2. 局部最优选择:在这种情况下, 选择应该是从当前可用的最优选择
  3. 不可更改:一旦做出决定, 在任何后续步骤中, 该选项都不会更改。
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?