国学经典,永久流传《诗经朗诵全集》
《诗经朗诵全集》带你领略国学经典,永久咏传。...
2023-07-31
复杂性分析
时间复杂度:o()。
因为有多余的子问题。
辅助空房间:O(1)。
因为没有额外的数据结构来存储值。
方法:在动态编程中,我们将考虑递归方法中提到的相同情况。在DP[][]表中,让我们将从1到w的所有可能的权重视为列,将权重保持为行。考虑从1到I的所有值,状态DP[i][j]将表示j-weight的最大值。因此,如果考虑wi(第I行的权重),可以将其填入所有列wi(权重值> wi)。
现在可能发生两种情况:
在给定栏中填写作业指导书。
不要在给定栏中填写作业指导书。
现在,我们不得不最大限度地考虑这两种可能性。形式上,如果我们在第j列不填充ith weight,DP[i][j]的状态将与DP[i-1][j]的状态相同,但如果我们填充weight,DP[i][j]将等于wi的值+前一行权重为j-wi的列的值。因此,我们使用这两种可能性中的最大值来填充当前状态。
以下是上述方法的python代码实现:
def knapSack(W, wt, val, n): K = [[0 for x in range(W + 1)] for x in range(n + 1)] # Build table K[][] in bottom up manner for i in range(n + 1): for w in range(W + 1): if i == 0 or w == 0: K[i][w] = 0 elif wt[i-1]
以上内容就是为大家推荐的背包问题(01背包问题例题讲解)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题
内容来源于网络仅供参考版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。
本文标题:背包问题(01背包问题例题讲解)
本文地址:https://www.xiaoyin02.com/shcs/296820.html
相关文章
热点文章
2021年独生子女补贴新政策是真的吗(独生子女证有有效期吗)
2021年国庆节阅兵仪式几点开始几点结束(2021年国庆节还有阅兵吗)
鼠目寸光一点红是什么生肖动物(鼠目寸光一点红)指什么生肖,紧密
k0到k9的玩法大全(强制gc的玩法和注意事项)
入土为安是什么生肖《入土为安》打一个生肖动物,词语解释
浙江12月底全面停工是真的吗(浙江什么时候放假停工)
如何做t(t怎么把p做哭)
北京口碑最差的三甲医院(北京301医院最擅长什么)