Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用贪婪技术模拟检测最早完成时间的间隔调度算法。我的问题是,如果它将在控制台应用程序中创建,输入是什么?有哪些方法?非常感谢。
每个任务的输入是开始时间和结束时间(例如 10:00 开始时间和 14:00 结束时间)。您可以将控制台输入解析为日期或类似的东西,但如果这只是一个模拟,那么您最好让控制台输入为非负整数(例如 4 个开始时间和 9 个结束时间),因为它会使你解析输入的工作更容易。
您可以采取几种贪心的方法,例如始终选择最短的任务(即间隔最短的任务);最佳方法是始终选择首先完成的任务(例如,您可以根据结束时间对任务进行排序并选择下一个不冲突的任务,尽管可能有一个线性时间算法来完成此任务)。