date intervals
给定秒(甚至毫秒)的粒度,查询重叠间隔列表的最佳方法是什么?
从关于重叠整数区间的其他问题的详尽列表中,我被指向了区间树。阅读后,我修改了这个处理整数间隔的实现,用于日期。
他的搜索实现从开始搜索间隔循环到结束搜索间隔,并根据需要从左节点或右节点递归地追加。如果您的间隔是接近的整数(或者如果您的日期间隔的粒度细到小时并且介于一天之间),则此方法非常有用。
我只是决定将开始搜索日期(转换为秒)循环到结束搜索间隔(通过 int( time - epoch
) 转换为秒),这当然会导致一个 3600 的循环以在一小时的时间间隔内进行搜索。转换为毫秒,一个小时的循环将是 3,600,000!
当搜索粒度为秒或毫秒的重叠日期间隔时,使用什么合适的算法数据结构?有没有比每秒循环一次更好的方法来实现间隔树?