美文网首页
动态规划-0、1背包问题

动态规划-0、1背包问题

作者: 小跑001 | 来源:发表于2020-06-07 19:20 被阅读0次

题目:

设物品有4个,即n=4. 背包能容纳的总重量为5,即W=5. 每个物品的重量分别为w=(2,3,3,3). 每个物品分别的价值为b=(3,4,5,6),给出动态规划求解过程。

答:

  • 思路:
    1. 物品不能被拆分, 每个物品要没放要么不放. 如果用穷举法有2^n种情况, 耗时较久, 题目也要求用动态规划来求解.
    2. 考虑最优子结构. 给每个物品编号, 从1到n. 设B(n, W)为n个物品的最大价值.
    3. 推导公式B(n, W).
      • a:如果第n个物品超过了袋子的重量w(即w(n) > W), 那么B(n, w) = B(n-1, w). 否则:
      • b:选择放第n个物品, B(n, W) = B(n-1, W-w(n))
      • c:选择不放第n个物品, B(n, W) = B(n-1, W)
      • 从b和c里面选择最大价值那个. 即 B(n, W) = max{B(n-1, W-w(n)), B(n-1, W)} (w(n) <= W)
    4. 自底向上, 计算过程:


      image.png
    5. 结果: 选择第一个和最后一个物品, 最大价值为9.

相关文章

  • 动态规划

    0-1背包问题 自己实现的0-1背包问题的动态规划解法,先贴上吧,动态规划原理解释有空再写。

  • 初识动态规划

    0-1 背包问题 备忘录 动态规划-二维数组 动态规划-一维数组 0-1 背包问题升级版 回溯算法 动态规划-二维...

  • Algorithm进阶计划 -- 动态规划(下)

    经典动态规划背包问题最长子序列问题 1. 背包问题 1.1 0-1 背包问题 0-1 背包问题,描述如下: 上面...

  • 数据结构与算法笔记day23:动态规划

    1初识动态规划 这节课的内容不涉及动态规划的理论,而是通过两个例子:0-1背包问题、0-1背包问题升级...

  • 算法-动态规划-背包问题

    背包问题是基础的动态规划问题,包含了0-1背包,完全背包,多重背包等。 0-1背包 存在容量为 的背包 , 件体...

  • 背包问题

    背包问题属于典型的动态规划问题。这里我们将详细介绍0-1背包,完全背包和多重背包问题 一、 0-1背包 有N件物品...

  • 背包问题

    1、前言 背包问题是典型的动态规划问题,它有非常多的类型,本文讨论最常见的0-1背包问题 0-1背包问题描述:有一...

  • 算法3:动态规划

    5.动态规划5.1 什么是动态规划?5.2 自底向上的动态规划:5.3 自顶向下的动态规划5.4 0-1背包问题:...

  • 动态规划-0-1背包问题

    动态规划-0-1背包问题 动态规划(dynamic programming)是解决多阶段决策问题常用的最优化理论,...

  • Algorithm

    bit manipulation 动态规划 0-1背包问题 寻找最小的k个数

网友评论

      本文标题:动态规划-0、1背包问题

      本文链接:https://www.haomeiwen.com/subject/ztzctktx.html