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

招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之间也满足这个条件,

请问下,这个做法正确嘛?和传统的做法是不是一个效果?
...全文
248 点赞 收藏 2
写回复
2 条回复
招RD和QA 2014年07月17日
引用 1 楼 FancyMouse 的回复:
没啥问题。不过一样牵涉到一个O(n)数组的最值查询+随机删除。所以做法其实没啥大的差别。
这个能说详细点嘛?
回复 点赞
FancyMouse 2014年07月07日
没啥问题。不过一样牵涉到一个O(n)数组的最值查询+随机删除。所以做法其实没啥大的差别。
回复 点赞
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.0w+

社区成员

3.4w+

社区内容

数据结构与算法相关内容讨论专区
社区公告
暂无公告