会议调度算法。线段树的案例?
Meeting scheduler algorithm. Case for segment tree?
某公司有n个会议室可供开会。您需要为特定时间段预订会议。编写一个算法来确定给定开始时间和结束时间的会议可用的会议室数量。
提示:将选择任何没有重叠会议的会议室。
我在想线段树可以为此提供 O(logN),但不确定这是最好的方法
是的,每个查询的 O(logN) 是最优的。
如果你要安排所有的会议,你可以把所有的开始时间和结束时间放到一个vector中,排序然后遍历排序后的vector分配会议室。由于排序仍然是 O(NlogN),但常量更小,内存访问模式应该比线段树更好(如果数据足够大,速度更快)。
某公司有n个会议室可供开会。您需要为特定时间段预订会议。编写一个算法来确定给定开始时间和结束时间的会议可用的会议室数量。
提示:将选择任何没有重叠会议的会议室。
我在想线段树可以为此提供 O(logN),但不确定这是最好的方法
是的,每个查询的 O(logN) 是最优的。
如果你要安排所有的会议,你可以把所有的开始时间和结束时间放到一个vector中,排序然后遍历排序后的vector分配会议室。由于排序仍然是 O(NlogN),但常量更小,内存访问模式应该比线段树更好(如果数据足够大,速度更快)。