`
westice
  • 浏览: 114241 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

大概看懂了0-1背包(动态规划)

 
阅读更多

动态规划最泛的思想就是从最小的问题开始,每一步的结果都保存下来,以后更大的结果就直接用小的结果来构造,这样就减少很大的计算量.

我们所要的就是那个最大的结果

 

 

 

 

在解决0-1背包问题中:

两个循环嵌套,一个循环容量(1开始,步长为1),一个循环个数(1开始,步长为1)

 

最佳方案存在一个二维数组里大小为 (最大容量 + 1)*(最大个数 + 1)

第一行和第一列为 0,作为起始条件.

 

 

如果  (本物体价值 出去本物体的剩余空间的最佳方案) > (上一次最佳方案)

   则 本次最佳方案 = (本物体价值 出去本物体的剩余空间的最佳方案)

否则  本次最佳方案 上一次最佳方案

在这之前还要保证本物体的限制条件 

过几天再写个小程序实现,要写作业了.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics