java - java.util.TreeSet的tailSet操作的时间复杂度是多少?

标签 java algorithm treeset

我正在使用扫掠线实现 2D 最近对算法,它说你需要找到某个 y 坐标上方的六个点。我所做的是将点放在按 y 坐标排序的 TreeSet 中,并使用 tailSet 方法获取某个点以上的所有点,最多迭代 6 次。

我想知道 tailSet 操作的复杂度是否为 O(log n),如果是,是否最多迭代 tailSet 六次也是 O(log n)?

引用:http://people.scs.carleton.ca/~michiel/lecturenotes/ALGGEOM/sweepclosestpair.pdf

最佳答案

AFAIK tailSet 是 O(log n),但迭代最后的 m 元素是 O(m * log n)

关于java - java.util.TreeSet的tailSet操作的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10706589/

相关文章:

r - 有效提取数据框中每列和行的最小值和索引,然后按值排名

java - 将构造函数与 Lambda 表达式结合使用(设置比较器)

java - 将 TreeSet 转换为填充 HashMap 的最佳方法是什么?

java - 未知的数据结构?

java - 检查用户是否订阅的正确方法?

algorithm - 图调度交集

algorithm - 是否有多项式算法可以在一般图中找到最大加权完美匹配?

java - 在每个级别上保持排序的反向树集排序

java - 301 重定向 : Why connection close?

java - 如何在可点击的 TextView 中设置超链接?安卓Java