请教算法导论的一道习题~~

petercsj 2009-10-03 05:06:20
《算法导论》贪心算法一章的习题16.1-3
利用多个教室对一组活动进行调度问题。设活动集合为S,答案里说可以先在第一个教室用一次贪心,选出一个最大子集S1,再在第二个教室对S-S1用一次贪心,选出一个最大子集S2,如此继续下去,知道所有活动都被安排为止。

可是我找到一组反例。
开始 1 7 9 8
结束 8 9 11 12
贪心算法应选出S1={(1,8),(9,11)},所以S-S1={(7,9),(8,12)},所以S2={(7,9)},还剩下一个活动只能安排在第三个教室。
事实上我们只要选S1={(1,8),(8,12)},S2={(7,9),(9,11)}便可以只用两个教室调度。所以我觉得很奇怪,有点怀疑答案的正确性,请各位大牛指点一下,谢谢啊
...全文
277 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
王林森 2010-11-06
  • 打赏
  • 举报
回复
贪心算法是局部最优解
withoutme_hw 2009-10-05
  • 打赏
  • 举报
回复
按照lz所说的贪心好像是求不出最优解的。我也找出了一个反例。
wenzheng38 2009-10-04
  • 打赏
  • 举报
回复
贪心算法只考虑局部最优解的
求全局最优解往往用动态规划算法的
chj_2003 2009-10-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 deerwin1986 的回复:]
贪心又不是求最优 大多数最优化问题用贪心得到的只是次优解
这道题明显只能用DP得到最优。。。
[/Quote]
贪心算法求最优解来解决问题,是需要证明后才能使用的。
deerwin1986 2009-10-03
  • 打赏
  • 举报
回复
贪心又不是求最优 大多数最优化问题用贪心得到的只是次优解
这道题明显只能用DP得到最优。。。

33,028

社区成员

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

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