binary-tree

    1热度

    1回答

    所以我写了这个代码插入节点BST(二进制搜索树),但程序总是打印树是空的。我想我的功能调用有问题。你能解释一下这个问题吗? #include <bits/stdc++.h> #include <conio.h> using namespace std; struct node { int key; node* left;

    0热度

    1回答

    我已经分配了关于将列表转换为二叉树的家庭作业任务,我无法绕着这个概念包裹我的头,我一直在阅读示例,但我无法弄清楚如何实际使用它。我需要一个左节点指针,信息和右指针。我找到了要添加的代码,但不知道如何使用它。 class Node{ int data; Node left; Node right; public Node(int data) {

    0热度

    1回答

    到目前为止,程序足够简单:由包含整数值的节点和指向节点左右分支的指针组成的二叉树。 #include <stdio.h> #include <stdlib.h> typedef struct node{ int val; struct node *left; struct node *right; } Node; void insert(Node *roo

    1热度

    1回答

    平衡二叉搜索树能否帮助您在比平衡二叉树更快的大时间内完成以下任务? 创建树小于某些值V较小的所有元素的列表。 在我看来没有,因为如果在BST所有的值是什么小于V,那么你就必须访问每个节点,那就是O(n),它不比二叉树好。 我正确吗?

    1热度

    1回答

    红黑树的最大高度为2log(n + 1),所以如果节点的数量是15,那么最大高度应该是2log(16)或8.我一直在试图绘制一棵红黑树高度为8,而只使用15个节点,但我不能在不违反红黑树的规则的情况下这样做。我将如何使用15个节点创建高度为8的红黑树?

    1热度

    1回答

    我的程序的目标是显示数学表达式的符号派生。创建代表衍生产品的新树之后,很可能我会留下冗余条款。 例如,下面的树不被简化。 Example of binary expression tree 树0 + 5 * (x * 5)可以改写为25 * x 我的程序使用了很多,很多if和else块通过检查常数乘以常数,以减少树等。然后,它重新排列子树相应。 这里是我的递归函数的一小部分,它简化了树: if(r

    0热度

    1回答

    我得到一个问题,我的方法只是将根节点仅作为字符串返回。如果我在helperPostOrder方法中打印节点,它会正确地打印邮政订单。 public String postorder() { return helperPostOrder(root, ""); // method calling } private String helperPostOrder(Node root ,

    0热度

    1回答

    我正在尝试使用AVL树并逐级显示它,但我失败了,不知道在哪里。附件是显示我当前输出的图像。我实际应该得到的是一个完整的二叉树,所以显然有些问题。在附加的图像中,有一张我的“byLevel”打印函数的照片,所以您可以看到我如何尝试打印它们,并且我将附加插入函数,因为这些是唯一对此部分很重要的两个函数。我很感激任何帮助,我不明白我做错了什么,因为这是一个常用的算法。 private Node inse

    -1热度

    1回答

    我实现我自己的二叉树的打印,这是我的节点结构: struct node { int value; struct node *left; struct node *right; }; 和我的开始节点: struct node * start = NULL; 这是我的插入功能: void insert(int value, struct node *leaf)

    0热度

    1回答

    我不能为我的生活弄清楚这一点,真的有人可以帮助我,这是为了即将到来的Java考试的修订目的: •以下接口指定了二叉树的类型。 interface BinaryTree { boolean isEmpty(); T rootValue(); BinaryTree leftChild(); BinaryTree rightChild(); } 编写采用类