7得票5回答
CompareTo可能返回0,TreeSet/TreeMap的替代方案

我需要一个对象的有序集合,目前正在使用TreeSet。我的问题是,对象的compareTo方法通常会返回0,这意味着这两个对象的顺序不应改变。TreeMap(TreeSet默认使用)将把它们视为相同的对象,这是不正确的。 有什么替代TreeMap的方法可以使用吗? 用例:我有一组可显示的对...

7得票4回答
在线性时间内从排序数组构建红黑树

我知道如何通过 n 次插入(每次都具有O(log(n))的效率)来构建它,总共需要(n*log(n))的时间。我还知道从排序后的数组中可以线性时间构建等价于2-3-4树的结构。请问有人能提供关于红黑树版本的简单解释吗?

7得票1回答
Trie和红黑树:在空间和时间方面哪个更好?

尝试树和红黑树都非常适合存储字符串。 哪一个具有更好的时间复杂度?空间复杂度如何?

7得票1回答
为什么QMap使用跳表而不是红黑树?

我想知道为什么QMap选择了跳表数据结构而不是红黑树?关于并发数据结构和跳表相对于红黑树的优缺点,有一个非常有趣的SO线程。这确实是一次非常有趣的对话,包含了有用的链接,但是QMap不是线程安全的,它没有默认的互斥锁来同步访问。需要使用包装器或子类化才能实现。 对我来说,编写“手工制作”的跳...