假设我们有一个包含某些任务处理时间的列表,例如 [13,8,7,6,4,2,2,1]。我们想通过 LPT 调度算法将这个列表分成两个列表。这里是算法过程:
对于给定的降序排序列表,首先我们将最大的元素(排序列表中的第一个元素)放入 list1,然后将第二个元素放入 list2。然后我们将下一个元素插入两个列表之一,元素的总和更小。我们做这项工作,直到初始列表中的所有元素都被分成两个列表。
例如对于提到的列表,两个列表将是 [13,6,2,1],[8,7,4,2](我们看到元素 7 已插入到第二个列表中,因为 ListSum([13]>ListSum ([8]) 然后因为 ListSum([13])