Java 什么';树集的最坏时间复杂度是多少?

Java 什么';树集的最坏时间复杂度是多少?,java,hashmap,time-complexity,Java,Hashmap,Time Complexity,据说 TreeSet为add()/remove()/contains()提供了日志(n)时间复杂性保证 但是TreeSet使用二叉搜索树,在最坏的情况下,二叉搜索树可以有O(n)高。如何“保证”日志(n)复杂性 实现在插入时重新平衡树 insert的O(lg n)时限由保证。这并不令人惊讶:实现集合的一个经典方法是某种形式的 Java库是公开的,所以让我们自己去看看树集,例如。它是根据TreeMap实现的,而TreeMap又是。正如@Don Roby指出的,底层数据结构是一棵红黑树 你说“如果树

据说

TreeSet为add()/remove()/contains()提供了日志(n)时间复杂性保证


但是
TreeSet
使用二叉搜索树,在最坏的情况下,二叉搜索树可以有O(n)高。如何“保证”日志(n)复杂性

实现在插入时重新平衡树

insert
的O(lg n)时限由保证。这并不令人惊讶:实现集合的一个经典方法是某种形式的


Java库是公开的,所以让我们自己去看看<可以找到代码>树集,例如。它是根据
TreeMap
实现的,而TreeMap又是。正如@Don Roby指出的,底层数据结构是一棵红黑树

你说“如果树是歪斜的”是什么意思?它是基于一棵红黑树,所以它能自我平衡。+1:我相信它确实是用红黑树做的。