首页 > 技术文章 > 背包问题

zhai1997 2019-12-30 21:28 原文

1、0 / 1背包问题:

(1)穷举法:

问题描述:有n个重量为:w1 、w2 、w3... ....wn的物品,价值分别为:v1、v2、v3... ...vn,每个物体要么全选中,要么不选中,要求放入背包的物品具有最大的价值。

解决方案:

利用求解幂集的方法,求所有问题的组合,在所有的重量小于背包容量的组合中,求物品价值最大的那个物品组合,即为最佳的。

(2)动态规划:

最优决策序列由最优决策子序列组成。

(3)回溯法(O二的n次方)

 (4)分支限界法

 

2、背包问题:

与0 / 1背包问题不同的是,完全背包问题可以装入一部分物品进入背包,也就是说背包一定可以装满。

(1)贪心法:

将物品以单位价值从大到小排序,除最后一个物品只取一部分之外,其他物品要么全拿,要么不拿。

3、完全背包问题:

  每种物品有任意多件。

    动态规划

推荐阅读