avl-tree

    0热度

    2回答

    我只是想知道任何人都可以帮助我。我试图做一个AVL树的横向。但我不断收到一个错误,我的函数名'r_in_order'没有定义。有谁知道这里发生了什么,我错过了什么?欢迎所有反馈意见。提前致谢。下面是代码: class Node: """ A node in a BST. It may have left and right subtrees """ def __init__(s

    0热度

    2回答

    这是上周讲座中提出的一个挑战问题,因为我一直在思考这个问题。我们被要求创建一个在两个AVL树之间搜索第k个最大元素的算法。两棵树中的每个节点都包含两条信息:它的整数值和它在其子树中包含的子树的数量(因此树叶会有1个子树)。算法的复杂度不能比O((logn)^ 2)差。 我想过将一棵树中的每个节点与另一棵树中的每个节点进行比较,但这会是O(n)复杂度太慢。

    0热度

    1回答

    我想只是一个行打印二叉树更可读的方式,而不是。我以前的答案this question作为开始,而是从左至右像这样的打印数据: 25 15 10 20 30 35 我需要它看起来像这样: 25 15 30 10 20 35 这是代码,我有: void printTree(AVLNode* root, int inden

    0热度

    1回答

    因此,对于课堂,我负责创建一个AVLTree,它可以添加/删除节点并以特殊方式打印所有节点。我完成了这个。 Eveyrthing在我的本地计算机上正常工作。但是,当我将代码上传到在线提交服务器并使用命令行输入进行测试时,我的一个功能停止工作,我希望有人能解释为什么。 这是我在我的电脑主要方法: AVLTree avl = new AVLTree(); avl.insert(5, "e

    0热度

    1回答

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

    0热度

    1回答

    我们知道,保持一个二叉树的平衡,我们可以使用RR LL RL LR foure旋转,使不平衡树平衡,但是,如果我们有一个平衡的树作如下: 885 /\ / \ 659 912 /\ \ / \ 934 212 759 /\ / \ 11 344 如果我们添加一个节点(168)这棵树,树是这样的: 885 /\

    0热度

    1回答

    我想用Hackerrank(https://www.hackerrank.com/challenges/self-balancing-tree)使用它们的编辑器解决这个问题。以下是C++函数的代码,我写道: node* makeNewNode (int data) { node* temp= new node(); temp->val=data; temp->lef

    1热度

    1回答

    所以我试图为一个名为ULS的项目创建自己的数据类型。 ULS基本上是一个100 <大小< 500,000列表,其中包含8位数字(整数)键到不同的房子列表。 根据列表的大小,由于每个房屋列表可能因城市而异,因此我试图根据给定列表的大小实现不同的抽象数据类型。见下: Algorithm setSmartThresholdULS(Size): Input: Integer Size that defi

    -2热度

    1回答

    我是初学者。我试图按级别打印avl树,它应该从右到左。但结果从左到右。我希望你能解决我的问题。下面是一段我的源代码: void printOrder(TreeNode *treePtr, int *row) { if(treePtr != NULL){ (*row)++; printOrder(treePtr->rightPtr,row); int i

    -1热度

    1回答

    我有一个程序从文本文件中读取字符串,然后将它们存储在AVL树中,我也必须删除节点并插入新的命令行中的一些。 我知道如何做到这一点,当节点有int作为键,但我的字符串。 我应该如何解决这个问题? typedef struct Node { int height; int count; char key[10]; struct Node * left;