读书人

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

发布时间: 2012-10-20 14:12:48 作者: rapoo

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

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

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

?

?

?

?

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

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

?

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

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

?

?

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

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

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

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

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

读书人网 >软件架构设计

热点推荐