Tag: interval intersection

范围交叉算法优于O(n)?

范围交叉是一个简单但非平凡的问题。 已经回答了两次: 查找数字范围交叉点 比较日期范围 第一个解决方案是O(n),第二个解决方案是数据库(当然小于O(n))。 我有同样的问题,但对于一个大的n,我不在数据库中。 这个问题似乎与存储2D点非常相似, 可以快速检索矩形内的那些,但我看不到它是如何映射的。 那么你将数据结构存储在哪个数据结构中,以便搜索范围的成本低于O(n)? (使用可用于Java的库的额外功劳) 编辑: 我想获得所有相交范围的子集,这意味着搜索范围可以与多个范围相交。 在Java中需要小于O(n)的方法是: public class RangeSet { …. public Set intersects(Range range); …. } 其中Range只是一个包含一对int start和end的类。 这不是一个不可能的问题,我已经有了解决方案,我只是想看看是否有更标准/更简单的方法