avl-tree

    3熱度

    1回答

    基本上你有一個充滿價值的BST。例如。 1-16 a min,max和value(10,15,3),您需要找到BST中的值和樹中最小值和最大值內的給定值之間的最大異或值。 我想知道是否有辦法做到這一點,而無需遍歷整個樹。 如果最小和最大不存在,我的方法是。 int xor (Node curent,min,max,value,highestXor){ 1. if node == null ret

    2熱度

    1回答

    我的AVL樹使用整數avlTree[35][5]的二維陣列中的Java實現的 - 該列表示: [0] - 高度左 [1 ] - 左子 [2] - 數據 [3] - 右子 [4] - 高度右。 我從主程序中調用下面的方法,結果我得到三個節點:最左邊的節點兩次跟着它的父節點。 public void inorderTraversal(int root) { if ((Main.avlTree

    0熱度

    1回答

    public class Node : IComparable { public object element; public Node left; public Node right; public int height; public Node(object data, Node L, Node R) { ele

    1熱度

    2回答

    我試圖做一個avl樹,每次樹不平衡時都會自行更新。輪換正在工作,但我有一個bug,如果例如樹節點7,leftChild 6,leftchild的leftchild 5變爲node 6,leftchild 5,rightchild 7,並且在平衡之後添加一個新節點,首先將節點與7而不是6.如何解決這個問題? 這是主類: import java.io.*; import javax.swing.*;

    4熱度

    2回答

    有人能告訴我,如果使用AVL比使用2-3樹更好,反之亦然,爲什麼? THX

    0熱度

    1回答

    這是我的我的繼任者FUNC: int BalancedTree::successor(TreeNode *node) // successor is the left-most child of its right subtree, { TreeNode *tmp = node; int successorVal = -1; tmp = tmp->m_RChild

    0熱度

    1回答

    我有n個大小爲n_1,n_2,...,n_n的AVL樹,所以sum(n_i)= n。 我可以合併兩個AVL的大小線性時間的大。 我可以在多少時間內合併這n棵樹? Thx任何幫助

    0熱度

    4回答

    這裏是我對AvlTree實現的代碼,但是有一個錯誤,當我運行時,它表示運行時失敗:P未初始化,以及如何修復我的代碼? 這裏是 #include "avltree.h"; #include "fatal.h"; //#include<iostream> #include<stdlib.h> //using namespace std; struct AvlNode { Elem

    2熱度

    2回答

    更具體地說,如果使用AVL樹而不是哈希表,是否有更高效的操作?

    5熱度

    1回答

    我在一些論文中看到了這一點,有人認爲我們刪除AVL樹的節點時最多可以有log(n)次旋轉。我相信我們可以通過生成儘可能不平衡的AVL樹來實現這一點。問題是如何做到這一點。這將有助於我研究移除旋轉事物。非常感謝!