流水作业调度算法中某结构的排序。

招RD和QA 2014-07-02 10:11:13
一个作业有2个任务a和b,在流水作业调度算法中使用了Johnson不等式,即min(a2,b1)>=min(a1,b2)时,则作业1在2之前。传统的算法中是这样实现,使用2N的数组容纳a1,a2,...,an,b1,b2,...bn,然后排序。再一个个分别查找最小的值是a还是b,如果是a就把对应的作业放在前面,如果是b就放在最后面。

我想能否简化点,直接对数据结构排序,比如使用结构pair<int,int>的数组保存所有作业,使用C库qsort,直接对这个结构的数组使用排序规则min(a2,b1)>=min(a1,b2),

自己想了下,这个规则具有传递性,即如果1和2满足规则,2和3也满足,则1和3之间也满足这个条件,

请问下,这个做法正确嘛?和传统的做法是不是一个效果?
...全文
316 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
招RD和QA 2014-07-17
  • 打赏
  • 举报
回复
引用 1 楼 FancyMouse 的回复:
没啥问题。不过一样牵涉到一个O(n)数组的最值查询+随机删除。所以做法其实没啥大的差别。
这个能说详细点嘛?
FancyMouse 2014-07-07
  • 打赏
  • 举报
回复
没啥问题。不过一样牵涉到一个O(n)数组的最值查询+随机删除。所以做法其实没啥大的差别。

33,027

社区成员

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

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