利用动态规划来解0/1背包的想法
在CLR的课后习题中,有一道是利用动态规划来解0/1背包,
从答案给的算法来看,存在两个局限性:
(1)它只能求解物品重量是整数的0/1背包问题
(2)其中的数据结构有很多是浪费的,因为它是利用穷举的办法来构造保存前面计算结果的表(数组)。
后来看王晓东的书好像是采取什么序偶的办法来解决的,个人觉得很难理解;
我觉得可以构造一个动态的数据结构来保存以前的结果,用memoization的方法来解决0/1背包问题,虽然会有查找链表的额外开销,但是空间浪费少,而且易理解。
为什么就没有人用这个方法写呢?是不是这里面还存在什么问题,请高手指点。