binary-tree

    2热度

    1回答

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

    0热度

    2回答

    虽然这个问题已经被问到,但我有一个实现的具体疑问。 我要打印的二叉树的俯视图,下面是完整的代码吧: import java.util.*; class Node{ int data; Node right; Node left; Node(int data){ this.data = data; } } class Pair<

    0热度

    1回答

    我试图找到比二进制搜索树中的给定值更高的数值,以获得乐趣和学习过度。我已经用纸上的逻辑书写了迄今为止的一项索取功能。但是,当我运行它时,它没有给出预期的结果。例如,BST中包含30, 25, 98, 23, 28, 97, 99, 29。我试图获得比28更大的值应该是5,但输出是2。方法中的问题在哪里?我遍历树中的所有节点,是否有更高效的解决方案? public int findMax(Node<

    -1热度

    2回答

    我写了二叉树数据结构中的前序和中序遍历的代码,但预序遍历的结果是正确的,但我得到了一些错误inorder遍历,任何人都可以在我的代码中显示我的错误。 在此先感谢。 public class treepractice { static Node root = null; static class Node{ int data; Node left, right;

    0热度

    1回答

    我完成this本文给出了问题,这个答案 public TreeNode mergeTrees(TreeNode t1, TreeNode t2) { // if both are null, assign merge tree to null if (t1 == null && t2 == null) return null; // if t1 or t2 is

    -1热度

    1回答

    任何人都可以告诉我我的代码有什么问题吗? 我想创建非返回函数void在链表的末尾插入一个节点。 void insert_tail_Recursively(struct node **phead, int key) { if (*phead == NULL) { Node*temp = malloc(sizeof(Node)); temp->data = key;

    0热度

    2回答

    我的目标是用蟒龟绘制一棵二叉树,意思是每条线分成2条,每条分支到另外两条等,从左到右,看起来像,除了从左到右水平。这是我到目前为止所拥有的,并且它可以工作,但是如果你运行它,你很快就会意识到它在很多方面都是混乱的。 def tree(d,x1,y1): #d is the depth if d==0: #base case return 0 a = t

    0热度

    1回答

    我没有系统地学习uni中的数据结构和算法课程(只是读了一些书),并想问一下是否有明确的算法来为二叉树做下列工作: 对于给定的二叉树和一个正整数n,搜索它的叶子。如果两个相邻叶子的深度之间的差异(想象所有叶子显示为一个数组,因此两个相邻的叶子可能在两个不同的子树中)大于n。用更低的深度细分叶子。递归地执行此操作直到不需要细分。 下图是一个示范,对于n: 由于叶1的深度是2比叶2小,叶1需要被细分为:

    2热度

    3回答

    我用于打印树的显示函数似乎只打印第一个元素,而不是其他的。我不知道为什么我怀疑我没有递归的插入函数可能是原因,但似乎无法理解它出错的地方。任何有关如何纠正或代码失败的解释都会有所帮助。谢谢。 #include <stdio.h> #include<stdlib.h> void insert(int data_add,struct tree *temp); void display(stru

    1热度

    2回答

    我试图实现代码来实现平衡二叉搜索树的方式(蛮力),并且我发现有一个(树的)情况,它似乎不能平衡。树是 6 \ 10 / 8 /\ 7 9 可以很明显的发现,这个树的右侧高度比左高度大得多,所以我向左旋转周围的树“6”,那么新的树会 10 / 6 \ 8 /\