前面我们说过简单的背包问题可以用贪心算法来实现,但有一类0-1背包问题用贪心算法来实现是不可取的,这里就引出我们今天的主角——动态规划。

1.动态规划的相关概念:

这里就不引用百度上的专业名词了,简单的来说,动态规划其实就是,给定一个问题,我们把它拆成一个个子问题,直到子问题可以直接解决。然后呢,把子问题答案保存起来,以减少重复计算。再根据子问题答案反推,得出原问题解的一种方法。一般这些子问题很相似,可以通过函数关系式递推出来。然后呢,动态规划就致力于解决每个子问题一次,减少重复计算,比如斐波那契数列就可以看做入门级的经典动态规划问题。

动态规划最核心的思想,就在于拆分子问题,记住过往,减少重复计算

2.经典的动态规划问题——0-1背包问题

首先对于0-1背包问题,我们需要知道的是:每一个物品只有1个,要么全拿,要么不拿,最后使得拿到的物品的总价值最大。
假如一个小偷有一个可以容纳4千克的背包,但是发现面前只有有3样物品可以偷:台灯(30元,4千克)、音响(20元,3千克)、充电宝(15元,1千克)(价格和重量可能有点奇怪

算法日记(十三)之动态规划相关推荐

  1. (十三)算法设计思想之“动态规划”

    算法设计思想之"动态规划" 动态规划是什么? 动态规划的步骤 LeetCode:70.爬楼梯 LeetCode:198.打家劫舍 思考题 动态规划是什么? 动态规划是算法设计中的一 ...

  2. 算法日记-01-算法和数据结构概览

    算法日记-01-算法和数据结构概览 文章目录 算法日记-01-算法和数据结构概览 1.数据结构 2.算法 3.如何解题? 4.刷题方法 5.小结 1.数据结构 一维 基础:数组arry(string) ...

  3. 五大常用算法之二:动态规划算法

    基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移.一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划. 基本思想与策略 基本思想与分 ...

  4. 国科大学习资料--人工智能原理与算法-第十三次作业解析(学长整理)

    国科大学习资料–人工智能原理与算法-第十三次作业解析(张文生老师主讲)(15.13)

  5. (转)五大常用算法:分治、动态规划、贪心、回溯和分支界定

    分治算法 一.基本概念 在计算机科学中,分治法是一种很重要的算法.字面上的解释是"分而治之",就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题-- ...

  6. 五大常用算法:分治、动态规划、贪心、回溯和分支界定

    算法系列之十六:使用穷举法解猜结果游戏--http://blog.csdn.net/orbit/article/details/7607685 ---------------例子: 麻将PC上发送操作 ...

  7. 五大常用算法一(回溯,随机化,动态规划)

    五大常用算法一(回溯,随机化,动态规划) 回溯算法 回溯法: 也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并以此慢慢地扩大问题规模,迭代地逼近最终问题 ...

  8. 算法设计与分析——动态规划(一)矩阵连乘

    动态规划--Dynamic programming,可以说是本人一直没有啃下的骨头,这次我就得好好来学学Dynamic programming. OK,出发! 动态规划通常是分治算法的一种特殊情况,它 ...

  9. 算法--01背包问题(动态规划算法) 21-01-30

    问题简述: 给定n种物品和一个容量为C的背包,物品mi的重量为wi,价值为vi,如何分配背包空间使得装入背包的物品总价值最大? 动态规划: 本算法归属于解决动态规划问题,动态规划(Dynamic Pr ...

  10. 算法设计与分析-----动态规划

    算法设计与分析-----动态规划(c语言) 一.动态规划 1.定义 2.动态规划问题的解法 3.动态规划求解的基本步骤 4.动态规划与其他方法的比较 5.求解整数拆分问题 6.求解最大连续子序列和问题 ...

最新文章

  1. ubuntu 命令整合1
  2. Android不使用支持库请求运行时权限
  3. python判断值是否在excel中_python接口自动化测试之根据excel中的期望结果是否存在于请求返回的响应值中来判断用例是否执行成功...
  4. JavaScript实现z-algorithm算法(附完整源码)
  5. 2018.7月Vue优质开源项目清单
  6. JVM系列之:Contend注解和false-sharing
  7. Unity3D_07_日志、文本打印
  8. iphone NSNotificationCenter
  9. 广东工业大学计算机学院书记,计算机学院召开2018年工作总结大会
  10. linux unix域socket_python3从零学习-5.8.1、socket—底层网络接口
  11. [转] Mac os x 使用ftp
  12. 快手上市首日涨近161% 两大创始人身家破千亿
  13. ArcGIS API for Silverlight 调用GP服务绘制等值面
  14. 生成N位的数字英文随机混合的字符串
  15. vmware workstation14密钥记录
  16. 《你和你的研究》全文
  17. 游戏优化利器 | Android GPU Inspector 开放 Beta 测试版
  18. Taulia任命Todd Musselman为首席福祉官
  19. contos7 配置 python3环境 支持微信公众号开发
  20. 浙江咪咕MGV3200_KLH_国科GK6323_2+8_免拆机卡刷固件包

热门文章

  1. Stetman读paper小记:ATTEQ-NN
  2. qq影音hd+android,QQ影音HD音乐播放器
  3. 机器学习(周志华) 第十章降维与度量学习
  4. 约翰-聂夫的投资原则
  5. 用GPS模块校准系统时间
  6. 项目开发经验谈之:设计失败的挫败感
  7. Python xlrd 读取Excel数字 数字丢失精度 小数位太长 求大神的解决方法(已解决)
  8. (一)Spring启示录
  9. 尼尔森报告指出,宅经济成快速消费品在农历新年的商机
  10. 视觉伺服控制工具Visual Servoing Platform---VISP(2)----使用ViSP滤波图像。