gpt4 book ai didi

algorithm - 背包算法 : Why we use wt[i-1] instead of wt[i]

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:19:39 26 4
gpt4 key购买 nike

考虑背包算法实现的以下部分:

 // Build table K[][] in bottom up manner
for (i = 0; i <= n; i++)
{
for (w = 0; w <= W; w++)
{
if (i == 0 || w == 0)
K[i][w] = 0;
else if (wt[i - 1] <= w)
K[i][w]
= max(val[i - 1] + K[i - 1][w - wt[i - 1]], K[i - 1][w]);
else
K[i][w] = K[i - 1][w];
}
}

我有一个基本的疑问,为什么我们在检查第 i 个元素时使用 wt[i-1]?

最佳答案

如果我们不选择第 i 项,这会给出我们可以获得的最佳值。考虑项目(值(value),数量); (2,1)、(3,2)、(4,5) 和一个体积为 5 的袋子。

当我们处理第三个项目时,我们可以得到一个值为 4 的值。但是如果我们不接受它,我们可以得到我们之前的最大值 5。Check this video.

关于algorithm - 背包算法 : Why we use wt[i-1] instead of wt[i],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35508288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com