我有(a1, b1), (a2, b2), ...., (an, bn)
形式的间隔
我想支持以下操作
如果我们想要找到与该点重叠的区间,则间隔树是直接的解决方案。当我们想要找到不相交的区间时,情况怎么样?
答案 0 :(得分:3)
同时拥有两棵树中的所有节点。树A按键ai
保存它们,树B按键bi
保存它们
插入和删除显然是O(log n)
对于要求3,将B中的节点从最小值打印到最大值,并在bi
仍小于该点时停止。在A中相同但向后,
例:
给定(1,10), (5,18), (13,20)
,点12
A ai
大于12
的区间是(13,20)
,B中的区间是(1,10)
。