码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 动态规划与贪心算法


    最优子结构:如果一个问题的最优解包含其子问题的最优解,则称该问题有最优子结构性质。是否具有最优子结构性质是使用动态规划与贪心算法的前提。

    动态规划(状态转移方程)

    要素:最优子结构、子问题重叠

    方法:

    1、自底向上:通过恰当定义子问题的规模,使得子问题的求解只依赖于更小问题的求解。因而可以将子问题按规模从小到大顺序求解。

    2、带备忘的自顶向下:按自然递归的形式编写过程,但过程中会保存每一个子问题的解。当需要一个子问题的解时,先检查是否已经保存了此解,从而节省了重复子问题的求解时间。

    关键:找到状态转移方程,即找到当前问题的解与子问题的解之间存在的关系,是否能够构成递归表达式。

    贪心选择性质:通过局部最优选择构造全局最优,即进行选择时,我们做出的是当前问题中看来最优的选择,而不必考虑子问题的解。

    贪心算法(逐步逼近)

    要素:最优子结构、贪心选择性质

    两者的区别

    贪心算法本质是动态规划的优化。

    动态规划每一步骤都要进行选择,而选择通常依赖于子问题的解。

    贪心算法进行选择时可能依赖之前的做出的决定,但不依赖于任何将来的选择或者子问题的解。

    0-1背包问题与分数背包问题 

    • 0-1背包问题:我们有一堆物品S={a1,a2,...,an},每一个物品ai都有一个重量wi和一个价值vi.现在有一个背包,这个背包的容量为W,现在要将这些物品在不超出背包容量的情况下选择性的放入背包,使得背包里面物品的价值最大,物品不能只选取其中一部分,必须选择整个,或者不选!

    • 分数背包问题:这个问题和上面的问题比较相似,唯一不同的就是该问题里面的物品可以进行分割,即可以只选取一个物品ai的一部分

    对于上述两个问题都具有最优化子结构,很明显0-1背包问题贪心算法不可靠,动态规划才是有效的;分数背包贪心算法是有效的。

  • 相关阅读:
    cereal:支持C++11的开源序列化库
    下载安装包,安装 PySide2 到 windows 系统
    vuex 设置方式 及 监听vuex中的state属性获取方式
    【 盒模型】css盒模型学习
    java毕业生设计中国古诗词学习平台计算机源码+系统+mysql+调试部署+lw
    如何在Microsoft Exchange 2010中安装SSL证书
    一文探索【skywalking】如何通过agent实现启动流程
    【机器学习】李宏毅——Adversarial Attack(对抗攻击)
    工作经验总结:单片机中简易时间片轮询的结构设计
    C# HttpClient 实现HTTP Client 请求
  • 原文地址:https://blog.csdn.net/weixin_72426331/article/details/127993934
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号