经典例题-多机调度问题
作者:
MangoDai | 来源:发表于
2017-11-07 20:47 被阅读0次
What
- 把大量的工作分配的许多的机器上
- 每一步选择当前最好的
- 最后的解不一定是最优的
private static void greedStrategy() {
// sort
Arrays.sort(works, (a, b) -> b - a);
// when workNum < machineNum
if (workNum <= machineNum) {
minimalTime = works[0];
return;
} else {
// 为每一个作业选择机器
for (int i = 0; i < workNum; i++) {
// 选择最小的机器
int flag = 0;
int tmp = machines[flag];
// 选择最小的机器
for (int j = 1; j < machines.length; j++) {
if (tmp > machines[j]) {
flag = j;
tmp = machines[j];
}
}
// 将作业交个机器做
machines[flag] += works[i];
}
// find max;
minimalTime = findMax(machines);
}
}
本文标题:经典例题-多机调度问题
本文链接:https://www.haomeiwen.com/subject/nohsmxtx.html
网友评论