• 第八章 (二)贪心法


    贪心是一种解决问题的策略。

    贪心算法就是按照贪心策略一步一步去求,当贪心选择最优时,具有贪心选择性质(最开始的贪心选择被包含在最优解中)和最优子结构性质。

    与DP的区别:
    贪心是自顶向下的(递归),贪心可以看作DP中的某一个选择策略,DP是全局的。

    背包相关问题

    最优装载问题:给出n个物体,第i个物体重量为wi.选择最多的物体,使得总重量不超过C。

    每次都选择装最轻的,这是一种典型的贪心算法,它只顾眼前,却能得到最优解。

    部分背包问题:有n个物体,第i个物体的重量为wi,价值为vi.在总重量不超过C的情况下让总价值尽量高。每一个物体都可以只取走一部分,价值和重量按比例计算。

    (选取Vi/wi最大的,因为可以取部分,所以一定会达到重量C这一目标)

    乘船问题:有n个人,第i个人重量为wi。每艘船的最大载重量均为C,且最多只能乘两个人。用最少的船装载所有人。

    考虑最轻的人i,如果他和最重的人j一起做,这样是贪心的,因为眼前的浪费最少。

    区间相关问题

    选择不相交区间

    区间选点问题

    区间覆盖问题

    Huffman编码

    每一步都是贪心的。原问题的最优解包含子问题的最优解。

  • 相关阅读:
    Hardware Virtualization
    Windows Vista 中脱机文件的更改
    Vista右键打开方式有两个记事本。
    SQL Server 2008 无法采用SQL认证模式登录(已解决)
    .NET 书籍推荐
    快速掌握一个语言最常用的50% 孟岩
    [原创] 大内存妙用 之 Readyboost 篇
    .Net 中的反射 14
    pureMVC使用实践
    有关于movieClip的一些问题
  • 原文地址:https://www.cnblogs.com/code-fun/p/12571109.html
Copyright © 2020-2023  润新知