【无标题】

贪心算法

定义

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

贪心法产生最优解的条件

要判断一个问题是否可以用贪心算法求解,一般看两个重要的性质:贪心的选择性最优子结构性质

贪心的选择性
若一个优化问题的全局最优解可以通过局部最优解得到,则该问题具有贪心选择性。一个问题是否具有贪心选择性需要证明。

贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优解的选择,即贪心选择得到,这个是贪心算法可行的第一个基本要素。

动态规划通常以自底向上的方式解各个子问题,而贪心算法则通常以自顶向下的方式进行。

最优子结构

若一个优化问题的优化解,包含它的子问题的优化解,则称其具有最优子结构。

最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征。

贪心的正确性证明

证明步骤

  • 叙述一个有关自然数n的命题,该命题断定该贪心策略的执行最终将导致最优解,其中自然数n可以代表算法步数或者问题规模
  • 证明命题对所有的自然数为真
    • 归纳基础
      • 从最小实例规模开始
    • 归纳步骤
      • 第一数学归纳法
      • 第二数学归纳法

贪心的应用

  • 活动安排问题
    • 结束时间早的优先
  • 最优装载问题
    • 重量轻的优先
  • 最优前缀及哈夫曼算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值