gpt4 book ai didi

java - TreeSet 最坏情况的时间复杂度是多少?

转载 作者:行者123 更新时间:2023-12-02 06:01:59 37 4
gpt4 key购买 nike

据说here那个

TreeSet has a log(n) time complexity guarantuee for add()/remove()/contains().

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

最佳答案

该实现在插入时重新平衡树。

插入 的 O(lg n) 时间界限由 official documentation 保证。这不足为奇:实现集合的经典方法是某种 self-balancing binary search tree .

Java 库是公开可用的,所以让我们亲自去看看。可以找到TreeSet,例如 here 。它是按照 TreeMap 实现的,依次是 here 。正如@Don Roby 指出的,底层数据结构是红黑树。

关于java - TreeSet 最坏情况的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22596877/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com