tree-balancing

    1热度

    1回答

    我想获得一个二叉搜索树来平衡,我知道它为什么不工作,但我不知道如何解决它。 我直接在插入方法中平衡。 我放了一些斜线来记录平衡应该发生在哪里。 这样的代码不能正常工作,我得到这个异常: Exception in thread "main" java.lang.NullPointerException at Baueme.Treee.insert(Treee.java:54) at Baueme

    1热度

    1回答

    在我的数据库类中,我的教授正在描述从B +树中删除键。如果你看到下面的图片: 我除了他告知leaf level节点只能包含3键至多一个完全明白了一切。根据我的理解,根据B+ tree的深度,在叶级确定总密钥从d到2*d,其中d是树的深度。由于叶为d为2,为什么叶级别节点不能有4个密钥。我哪里出错了? 包含在根级别的密钥总数在这里也很重要?任何人都可以请解释

    0热度

    1回答

    我不知道我在哪里有问题,但我在我的AVL实施中遇到了一个奇怪的错误,翻译成MQL4/MQL5语言。 在失败的情况下,我进入任一 递归地指向同一个节点问题 或 没有任何父一个分离节点, 因此,当平衡,我正在运行到空指针的问题。 测试用例: 在MetaTrader4/5终端的复制/粘贴[杂志]封入下面 票卡: AVLTree *theAVLTree; // Create

    0热度

    1回答

    我很难理解这个概念, 问题是,既然黑节点是平衡的,那么如果我们把树作为一个整体,RB树就可能具有最大的不平衡性么?

    2热度

    1回答

    这里是一个简单的二叉树c,但它似乎不平衡,如何使它平衡? 代码: /** * binary_tree impl */ #include <stdio.h> #include <stdlib.h> typedef struct _tnode _tnode; typedef struct _bin_tree _bin_tree; struct _tnode { int d

    0热度

    1回答

    可以解释一下重量平衡树和高度平衡树有什么不同。 AVL是平衡重树

    0热度

    1回答

    这是序列20,10,5,30,40,57,3,2,4,35,25,18,22,27 我已经尝试通过使每个新插入的节点作为根,但它不起作用。 有人可以一步一步给我解释吗?

    0热度

    2回答

    我正在研究一个BST,它将根据它们的匹配和它们的元素来平衡节点,其中一个匹配是使用find(),contains()等发现节点时增加的属性。 树的根是具有最高命中数的节点。 我所有的代码都是正常的,除了在增加命中后平衡树的平衡方法。 我正在使用修改的AVL树旋转方法(https://users.cs.fiu.edu/~weiss/dsj2/code/weiss/nonstandard/Rotati

    0热度

    1回答

    我正在编写一个CART树的实现,它是用于机器学习的二叉树。作为勾勒下面的代码是递归的培训: struct Node { Node * parent; Node * left; Node * right; }; void train(Node* node) { //perform training algorithm on node tr

    2热度

    1回答

    目标是从根节点中删除22并重新平衡树。 首先我除去22,并通过其在顺序后继28. 其次我平衡所得到的树替换它,由空节点移动到左边。结果树在下面。 正在向正确的过程移动28,并且我是否正确地平衡了左侧? 22,34 / | \ 16 28 37 /\ /\ /\ 15 21 25 33 35 43 [28],34 / | \ 16 *