Tag: 红黑树树

Java中TreeSet操作的计算复杂性?

我试图澄清一些关于TreeSet的一些操作的复杂性的事情。 在javadoc上它说: “这种实现为基本操作(添加,删除和包含)提供了有保证的log(n)时间成本。” 到现在为止还挺好。 我的问题是在addAll(),removeAll()等上发生了什么。这里的Set的javadoc说: “如果指定的集合也是一个集合,则addAll操作会有效地修改此集合,使其值为两个集合的并集。” 它只是解释了操作的逻辑结果还是暗示了复杂性? 我的意思是,如果两个集合由例如红黑树代表,那么以某种方式加入树木比将“一个”的每个元素“添加”到另一个更好。 在任何情况下,有没有办法将两个TreeSet合并为一个具有O(logn)复杂度的TreeSet? 先谢谢你。 🙂