avl-tree

    3热度

    1回答

    我对Rust很新,想要实现一个AVL树。 我使用以下枚举来表示我的树: enum AvlTree<T> { Leaf, Node { left: Box<AvlTree<T>>, right: Box<AvlTree<T>>, value: T } } 在实现的平衡功能之一,我面临着一些问题,所有权和借贷。 我想写一个函数,它

    2热度

    1回答

    我正在与AVL树一起工作。 我需要用散列标识任何给定的树,以构建散列,我正在考虑寻找树中所有元素的前序遍历,然后通过连接每个元素的散列来构建散列。 首先,我想确保没有重复的AVL树对于相同的预订字符串。尽管我还没有找到一个反例,但我真的不太确定。 任何帮助表示赞赏!

    1热度

    1回答

    我正在学习AVL树并得到了递归代码中的TLE。我的导师建议迭代解决方案。我搜索并找到了一个将父节点保存在子节点中的解决方案。 我想知道这个可能会在内存中遇到问题,不是吗? 是否有另一种方式插入,在AVL树中删除什么不需要保存父项在孩子?请给我一个提示。

    0热度

    1回答

    我在C#中制作了一个功能非递归AVL树。该节点看起来像这样: class AvlNode { public int data; public int balance; public AvlNode left; public AvlNode right; public AvlNode parent; }static AvlNode _root

    1热度

    1回答

    我学习考试,我也使用我们的脚本来学习。我同意所有的步骤,但我不明白红色的圆圈)我会为你阅读)。因为有树根余额-1。这怎么可能是正确的? 根10的左子树的平衡是-4,它的右子树具有平衡+2,所以我们共-4+2 = -2 = unbalanced after insertion of 8。但是,我们的教授如何得到-1? 我明白这里有什么问题吗?

    0热度

    2回答

    我无法理解为什么下面的树轮代码有效。如果T2指向y.left和y.left指向x,这是不是使最后一个指配x.right = T2等于x.right = x?指针是不是应指向最初的T2? Node leftRotate(Node x) { Node y = x.right; Node T2 = y.left; // Perform rotation y.le

    2热度

    1回答

    如果C表示的“独苗”的节点数量(一个节点被称为唯一的孩子时,其父是不是null & &它没有兄弟姐妹),为什么我们的,对于每一个AVL树与N个节点:C < =(N/2)?

    0热度

    2回答

    我有一个需要存储两个变量的AVL树的一个项目:一个字和速度,它被用于: struct AVLnodo { float peso; int FB; char *palavra; struct AVLnodo* esq; struct AVLnodo* dir; }; 注: 比索=使用的速率 palavra =字 其他变量是指向儿童和因素的平衡。

    0热度

    1回答

    我想插入一个带有泛型元素的矢量到AVL树中而不使用旋转,这可能吗?

    2热度

    2回答

    我有一个演讲幻灯片说如下: 要查找AVL树中的中间元素,我按顺序遍历元素,直到它到达moddile元素。它需要O(N)。 如果我正确地知道,在树结构中,查找元素需要基2 O(logn),因为AVL是始终分为2个子元素的二叉树。 但为什么说O(N)?