24得票6回答
AVL树是邪恶的吗?

我正在阅读Steve Yegge关于单例模式的文章,他在其中提到他的老师告诉他AVL树是邪恶的。这只是因为红黑树是更好的解决方案吗?

23得票3回答
如何生成最不平衡的AVL树

我编写了一个 C语言库,用于实现AVL树作为通用的排序容器。为了测试目的,我想找到一种方法来填充树,使其尽可能地不平衡,即它所包含节点数量的高度最大。 AVL树有一个好的特性,如果从空树开始,按升序(或降序)插入节点,那么树总是完全平衡的(即对于给定的节点数,它具有最小高度)。生成完全平衡的...

21得票4回答
平衡AVL树(C ++)

我正在努力学习如何为我的课程平衡AVL树。我已经使用以下代码实现了插入: Node* Tree::insert(int d) { cout << "base insert\t" << d << endl; if (head == NULL)...

15得票2回答
构建二叉搜索树和AVL树所需的时间复杂度有什么不同?

当我学习二叉搜索树(平衡和非平衡)时,我遇到了需要解决的问题: 如果使用n个元素构造一个二叉搜索树(不一定是平衡的),那么整个构建过程的时间复杂度是多少? 如果从n个元素构建AVL树,则构建AVL树的时间复杂度是多少? 它是否应该超过nlog(n)?因为我们需要大量旋转来构建AVL树。...

15得票3回答
为什么Java TreeMap选择基于红黑树的实现?

维基百科上的AVL树条目的第三段说:“由于AVL树更加严格平衡,因此在查找密集型应用中比红黑树更快。” 因此,对于使用哈希的数据结构来说,在实现TreeMap时,不应该使用红黑树而应该使用AVL树。

14得票7回答
平衡二叉树(AVL)的平衡

好的,这是关于计算机科学领域理论方面的又一个问题。 在90年代,我在实现二叉搜索树方面表现得相当不错。但是唯一让我困扰的是平衡二叉树(AVL)的算法复杂性。 你们能帮我解决这个问题吗?

13得票5回答
如何检查我的AVL树实现是否正确?

我已经创建了一个AVL树的实现,但由于AVL树是一个相当复杂的结构,因此我需要对它进行测试。那么问题是-我该如何测试它? 到目前为止,我有以下测试: 基本的健全性检查 - 检查每个节点高度等于子节点最大高度+1,平衡系数在[-1,1]之间,左子节点的键<此节点的键<右子节点的键,...

13得票4回答
在AVL树中查找给定节点数的最小和最大高度?

是否有一个公式可以计算给定特定数量的节点时,AVL树的最大和最小高度是多少? 例如: 教科书问题: 对于3个节点、5个节点和7个节点的AVL树,最大/最小高度分别是多少? 教科书答案: 3个节点的AVL树的最大/最小高度为2/2,5个节点的AVL树的最大/最小高度为3/3,7个节点的AVL树...

12得票3回答
.NET内置AVL树?

在.NET库中有没有内置的AVL树? 我搜索了一下,但没有找到。 如果有,那么在哪里?哪个命名空间? 如果没有,是否有C#中优秀的AVL树实现? 如果还是没有!那么有没有简单的方法完成它?我知道它的工作原理,并且之前已经使用原生C++构建过一个,但现在我没有时间,如果自己做可能会导致性能...

12得票2回答
在Scala中使用的标准二叉搜索树结构是什么?

什么是Scala 2.10.x中应该使用的标准平衡二叉搜索树实现?我正在寻找,看起来 AVLTree 已被删除,而 RedBlack 已被弃用,并显示消息(自版本2.10.0以来)改用TreeMap或TreeSet。但是, TreeMap 和 TreeSet 不提供我需要的功能,因为我需要...