algorithm - 使用区间树的最大区间重叠

标签 algorithm interval-tree

<分区>

这里有一个有趣的问题:给定一组 N 个区间 ([start, end]),使用区间树找出重叠区间的最大数目。

A similar question StackOverflow上提供了一个O(N)的解法,但是如果我们能把区间预处理成一棵区间树,或许我们可以在对数时间内找到解法。

事实上,Cormen 等人在“算法导论”一书中的一个练习题表明,这可以通过增加红黑区间树来实现。知道如何做到这一点吗?

最佳答案

look 的一些例子.您可以为此使用间隔树。 CGAL为您提供了一个强大的实现。另一个有趣的example类似于你的问题。

关于algorithm - 使用区间树的最大区间重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3755378/

相关文章:

algorithm - 找到最近的时间跨度

c++ - 我们如何计算 N choose K modules a prime number 而不会溢出?

java - 没有数组的埃拉托色尼筛法?

python - 重叠形式组之间的面积总和

c++ - 按给定轴的角度对点进行排序?

algorithm - 根据开始时间排序的给定间隔集。在 O(logn) 中计算其中包含时间 "T"的所有间隔

algorithm - 以间隔合并范围

C#区间树类

algorithm - 在不包含查询的区间树中查找最接近的区间