利用动态规划来解0/1背包的想法

ustcxp 2003-12-11 11:56:30
在CLR的课后习题中,有一道是利用动态规划来解0/1背包,
从答案给的算法来看,存在两个局限性:
(1)它只能求解物品重量是整数的0/1背包问题
(2)其中的数据结构有很多是浪费的,因为它是利用穷举的办法来构造保存前面计算结果的表(数组)。
后来看王晓东的书好像是采取什么序偶的办法来解决的,个人觉得很难理解;
我觉得可以构造一个动态的数据结构来保存以前的结果,用memoization的方法来解决0/1背包问题,虽然会有查找链表的额外开销,但是空间浪费少,而且易理解。
为什么就没有人用这个方法写呢?是不是这里面还存在什么问题,请高手指点。
...全文
32 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ustcxp 2003-12-13
  • 打赏
  • 举报
回复
to kotton8848:我开始想的方法比较土,使用链表,昨天在南大bbs上,受斑竹指点,还可以用hash表
v_salt 2003-12-13
  • 打赏
  • 举报
回复
分特0/1背包本来就是动归写
cpsoft 2003-12-13
  • 打赏
  • 举报
回复
我都忘了0/1背包问题是什么问题了,
哪个好心人再教我一遍?
kotton8848 2003-12-12
  • 打赏
  • 举报
回复
:动态的数据结构:指的是什么结构,能说说吗?
zhushizu 2003-12-12
  • 打赏
  • 举报
回复
呵呵,其实用动态规划来解决是有点牵强,不过背包问题是一个经典问题,我以前学的时候就用过贪心,分治,动态规划方法来做,为了学习,不用考虑这么多了,不过你的精神道是不错哦,加油!!!!!!

33,029

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧