Disjoint Set Forest来安排工作

时间:2013-03-08 07:24:58

标签: algorithm greedy disjoint-union

如何使用不相交的集合森林来安排带有处罚的工作,从而最大限度地减少处罚?

我们可以先根据他们的处罚顺序安排工作。森林的每个节点x将代表作业编号,值rank [x]将代表其惩罚。但是,我如何最小化这个等级[x],以便最小化惩罚?节点的顺序将为我提供作业的顺序,但是这个算法是什么?我该如何制作森林?

2 个答案:

答案 0 :(得分:1)

我现在也遇到了这个问题,我找到了lecture note,也许这会有所帮助。 附:虽然这篇文章已有一年之久,但这可以帮助那些在同一问题上徘徊的人。

答案 1 :(得分:0)

您的问题是否来自CLRS 16-4?最近我也在做这个练习。
  在与朋友讨论后得到一些提示后,我终于找到了来自互联网的类似帖子。共享代码的人在CSDN博客上发布了两篇帖子。
  阅读他们的帖子后,我认为他们的帖子确实有助于理解Disjoint Set Forest的使用来解决调度作业问题。希望他们也可以帮到你。
  这两个网站是   http://blog.csdn.net/hechenghai/article/details/6844356   http://blog.csdn.net/jxy859/article/details/6615119