对于重叠间隔查询date intervals
列表的最佳方法是什么,给定第二个(甚至毫秒)的粒度?
从关于重叠整数区间的其他问题的详尽列表中,我被指向Interval Tree。阅读之后,我修改了this implementation,它处理日期的整数区间。
他的搜索实现从开始搜索间隔循环到结束搜索间隔,根据需要以递归方式从左节点或右节点附加。如果您的间隔是紧密整数(或者如果您的日期间隔的粒度小到一小时且介于一天之间),则此方法很有用。
我只是决定将开始搜索日期(转换为秒)循环到结束搜索间隔(通过int(time - epoch
)转换为秒),这当然会导致搜索结果为3600循环一小时的间隔。转换为毫秒,一小时循环将是3,600,000!
当搜索重叠日期间隔的粒度低至秒或毫秒时,要使用的算法数据结构是什么?是否有更好的方法来实现间隔树而不是每秒循环一次?