binary-tree

    0热度

    1回答

    本质上讲,我试图做的是采取与数据定义 binary_tree: number | (symbol binary_tree binary_tree) 二叉树和创造,每个叶片(数字)替换为计数器的号树的新版本。我试图从左到右,然后从上到下这样做,所以使用宽度优先搜索似乎是按顺序访问每个节点的明显选择。但是,我的问题是这样的。我需要积累一个新的二叉树来返回它。因为我们正在访问每个节点,是否有任何可能

    1热度

    1回答

    这是一个算法,我刚才给出了一个测试,我无法弄清楚。有任何想法吗? 您将得到的二进制树的递归符号:一个树的每个节点被表示为一组三个元素:节点 左子树 右子树的 值 因此,一棵树可以写为(value left_subtree right_subtree)。 如果节点不存在,则表示为空集:()。 您的任务是从左到右的顺序获取离树根最远的节点列表。 在一个节点的表示法中,它的值和子树由一个空格字符分隔。

    2热度

    1回答

    的最大深度时,这是一个寻找二叉树的最大深度的伪代码: maxDepth(Node N) 1. If Nodes is leaf node then return 0 2. Else (a) Get the max depth of left subtree recursively i.e., call maxDepth(N->left-subtree)

    1热度

    1回答

    这是aws educations的一个问题。我一直在思考这个问题很长一段时间,但我并没有真正到达任何地方。 你想使用二叉树来编码整数的中缀算术表达式。操作是加法和乘法 绘制一棵树看起来像什么的图片。 编写一个类定义。 撰写评估()成员函数。 你如何让你的评价()迭代而不是递归 如果我能得到这将是罚款或一些例子解释过

    -4热度

    1回答

    我已经从BST中创建了一个叶子的删除功能。如果BST是空的,它会通知您BST是空的。否则,我有一些情况。其中之一是节点(叶)没有孩子。因此不需要与其他节点进一步链接。首先,我删除指向该叶的指针,然后将其指向null。但不幸的是,该程序崩溃。 这里是功能: void BinarySearchTree :: delete_node(float deleted_key) { Node* de

    0热度

    2回答

    我试图打印二叉树的所有路径(根到叶路径),但无济于事。 我的策略是使用递归,其基本情况为either tree is None or tree node is leaf return否则,遍历树的左侧和右侧。 但我找不到保留左右树的方法。 def pathSum(self, root, target, result): if not root: return []

    -2热度

    1回答

    这是二进制搜索树搜索和插入的代码。当我试图通过重复函数Node12 insert2(Node12 curr,int d)检查树的左右节点时。在一行中显示运行时错误。 请帮忙 class bst { class Node12 { Node12 left, right; int data; Node12(int d) { data = d;

    3热度

    2回答

    所以我用DrRacket,有一个结构定义为: (define-struct thing (a b)) 然后,我有这种格式的例子树: (define v (make-thing (make-thing (make-thing 1 2) (make-thing 3 4)) (make-thing (make-thing 5 6)

    -1热度

    1回答

    所以我想出了这个代码,不知道如何继续。 treeSize :: (Integral b) => BinaryTree a -> b treeSize tree = case tree of Null -> 0 Node _ t1 t2 ->

    -1热度

    1回答

    我已经写了代码,找出在二叉搜索树最大因素,我得到在插入函数以下错误: main.cpp: In function ‘bstNode* Insert(bstNode*, int)’: main.cpp:23:31: error: expected primary-expression before ‘*’ token root->left= Insert(bstNode* left,data); ^