167得票6回答
红黑树优于AVL树

AVL树和红黑树都是自平衡的,除了节点中的红色和黑色。选择红黑树而不是AVL树的主要原因是什么?红黑树的应用有哪些?

88得票4回答
何时选择红黑树、B-树或AVL树?

作为一名程序员,我何时应该考虑使用红黑树、B树或AVL树?在决定选择之前需要考虑哪些关键因素? 有人能否针对每种树结构解释一个场景,说明为什么选择它而不是其他树结构,并引用关键因素?

84得票9回答
红黑树和AVL树的区别

有没有人能够解释一下这两种数据结构之间的主要区别是什么?我一直在试图寻找一个在线资源来突出它们的差异/相似之处,但我没有找到很有启发性的内容。在什么情况下会更倾向于使用其中一种而不是另一种?有哪些实际情况使其中一种比另一种“更好”使用呢?

75得票1回答
纯函数映射和集合的统计性能表现

给定一个数据结构规范,比如具有已知复杂度界限的纯函数映射(map),我们需要从几种实现中选择。有一些技术传统可以用来选择正确的实现。例如,红黑树被认为通常更快,但AVL树在具有许多查找的工作负载上性能更好。 是否有系统的介绍(发表的论文)关于这方面的知识(涉及集合/映射)?理想情况下,我希...

57得票12回答
红黑树

最近我看了几本书,都提到了二叉树和二分查找。但由于我在计算机科学的学习刚刚开始,还没有上过真正专注于算法和数据结构的课程。 我已经在典型的信息源(维基百科、谷歌)搜索了相关内容,特别是红黑树的实用性和实现大多写得深奥难懂。也许对于有必要背景的人来说,这些内容很容易理解,但对我来说,读起来就像...

51得票2回答
红黑树 VS B 树

我有一个项目需要处理从几兆字节到几太字节的数据,需要实现快速的搜索、插入和删除操作。最近我一直在研究数据结构并对它们进行分析。具体来说,我想介绍3种情况,并就此提出问题: 数据量远远超过内存容量(样本范围在10-15TB之间)。在这种情况下,我会将数据结构存储在磁盘上。 相对于系统内存,数...

49得票4回答
红黑树的应用

红黑树有哪些应用?是否存在仅能使用红黑树而不能使用其他数据结构的应用场景?

48得票1回答
从自顶向下的2-3-4左倾红黑树中删除需要进行哪些额外旋转?

我一直在实现一个LLRB包,它应该能够在两种模式下运行,Bottom-Up 2-3或Top-Down 2-3-4由Sedgewick描述(代码-改进的代码,尽管仅处理2-3树这里,感谢RS提供指针)。 Sedgewick为2-3模式的树操作提供了非常清晰的描述,尽管他花了很多时间讨论2-3-...

41得票7回答
如何轻松记忆红黑树的插入和删除?

理解标准的二叉搜索树及其操作是相当容易的。正因为理解了这一点,我甚至不需要记住插入、删除和搜索操作的实现。 我现在正在学习红黑树,并且理解了它保持平衡的属性。然而,我感觉很难理解它的插入和删除过程。 我知道,在插入新节点时,我们将节点标记为红色(因为红色是我们可以做到的最好的方法,以避免破...

31得票1回答
JAVA中基于红黑树实现TreeMap的解释

我正在查看JAVA中的TreeMap源代码。根据JAVA文档:一种基于红黑树的NavigableMap实现。该映射按其键的自然顺序排序,或者根据在创建映射时提供的比较器进行排序,具体取决于使用哪个构造函数。此实现为包含键查询、获取、插入和删除操作提供了保证的O(log n)时间复杂度。算法是C...