区间调度算法:最早完成时间

时间:2013-04-17 02:53:57

标签: c# algorithm scheduling greedy

我正在尝试使用贪婪技术模拟检测最早完成时间的间隔调度算法。我的问题是,如果它将在控制台应用程序中创建,那么输入是什么?有什么办法?非常感谢你。

1 个答案:

答案 0 :(得分:0)

每项任务的输入是开始时间和结束时间(例如10:00开始时间和14:00结束时间)。您可以将控制台输入解析为Dates或沿着这些行的某些东西,但如果这只是一个模拟,那么您可能只是让控制台输入为非负整数(例如4个开始时间和9个结束时间),因为它将使你的解析输入的工作更容易。

您可以采取几种贪婪的方法,例如始终选择最短的任务(意味着间隔最短的任务);最佳方法是始终选择首先完成的任务(例如,您可以根据结束时间对任务进行排序,并选择下一个不冲突的任务,尽管可能有线性时间算法来完成此任务)。