1.0-1背包问题最优子结构性质 2.0-1背包问题求解最优值递归式 3.实例:n=4,c=10, w={2,6,5,4}, v={3,5,4,6} 写出m表格,最优值,最优解
时间: 2024-02-26 17:55:41 浏览: 141
好的,让我来回答你的问题。
1. 0-1背包问题的最优子结构性质是指,将一个规模为n的问题分解为规模为n-1的子问题,每个子问题的最优解可以用前面子问题的最优解来推导出来。
2. 0-1背包问题求解最优值的递归式为:f(i,j) = max{f(i-1,j), f(i-1,j-w[i])+v[i]},其中i表示第i个物品,j表示背包的容量,w[i]表示第i个物品的重量,v[i]表示第i个物品的价值。
3. 对于实例n=4,c=10,w={2,6,5,4},v={3,5,4,6},我们可以按照以下步骤构建m表格:
- 构建一个大小为(n+1) x (c+1)的二维数组m,初始化所有元素为0。
- 从第1行开始,依次填充每一行的元素。对于第i行,我们遍历列j从0到c,计算m[i][j]的值。
具体的计算方法如下:
- 如果j < w[i],则m[i][j] = m[i-1][j];
- 否则,m[i][j] = max{m[i-1][j], m[i-1][j-w[i]]+v[i]}。
最终得到的m表格如下:
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|----|---|---|---|---|---|---|---|---|---|---|----|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
| 2 | 0 | 0 | 3 | 3 | 3 | 3 | 5 | 5 | 5 | 5 | 5 |
| 3 | 0 | 0 | 3 | 3 | 4 | 4 | 5 | 5 | 7 | 7 | 7 |
| 4 | 0 | 0 | 3 | 3 | 4 | 6 | 7 | 9 | 9 | 10 | 10 |
最优值为m[4][10]=10,最优解为选择第1个和第4个物品,总重量为6,总价值为10。
阅读全文