binary-tree相关内容

基于 ArrayList 的二叉树 - Java

我目前正在实现基于 ArrayList 的 Java 中的二叉树.我想弄清楚这将如何完成,但我正在撞墙.class 中有一堆 methods 我应该实现,但每次我尝试一些东西时,它似乎都不起作用. 我们有由 Position 标识的 Position 对象.在这个class中,我们有一个private的array list和一个根变量,两者都可访问 只通过这个 class,所以 size() ..
发布时间:2021-11-18 00:20:54 Java开发

基于 ArrayList 的二叉树 - Java

我目前正在实现基于 ArrayList 的 Java 中的二叉树.我想弄清楚这将如何完成,但我正在撞墙.class 中有一堆 methods 我应该实现,但每次我尝试一些东西时,它似乎都不起作用. 我们有由 Position 标识的 Position 对象.在这个class中,我们有一个private的array list和一个根变量,两者都可访问 只通过这个 class,所以 size() ..
发布时间:2021-11-18 00:18:28 Java开发

二叉搜索树路径列表

这是获取二叉树中所有根到叶路径的代码,但它将所有路径连接成一个路径.递归调用出了什么问题? private void rec(TreeNode root,Listl, List>lists) {if (root == null) 返回;if (root.left == null && root.right == null ) {l.add(root.val);list.add(l);}如果(ro ..
发布时间:2021-11-18 00:15:30 Java开发

如何从javascript中的数组制作二叉树?

我有一个数组 var array = [8,10,12,5,3,6]; 逻辑 第一个节点将是根节点. 如果新节点值小于或等于 = 比父节点,它将是父节点的左节点 如果新节点的值大于父节点的>,它将是父节点的右节点 我正在尝试实现如下对象的输出: {值:8,剩下:{值:5,左:{值:3},右:{值:6}},对:{价值:10,右:{值:12}}} 像这样的图像 我尝试了 ..
发布时间:2021-09-09 19:36:04 前端开发

为什么在算法中使用子树大小来选择二叉树中的随机节点?

我偶然发现了几种从二叉树中选择随机节点的算法实现,它们都使用子树大小属性.但是,我不明白为什么知道子树大小会有所帮助.这是实现 A 和 B. 大致思路可以用这个伪代码来描述: Node getRandomNode() {随机种子 = 新随机;int random = random.nextInt(this.size);如果(this.left.size == 随机)返回这个;如果 (thi ..
发布时间:2021-07-02 19:52:57 其他开发

如何使用mysql数据库在PHP中创建二叉树

我想从数据库值在php中打印二叉树(下图) 以上是我的数据库表结构 这是我尝试过的,在这段代码中,我想显示用户 ID PX100 的二叉树 prepare("SELECT * FROM tbl_user_postion WHERE user_id=:user_id");$select_right_tree->bindParam(":user_id", $user_id);$sel ..
发布时间:2021-06-05 18:58:16 PHP

没有至少两片叶子的树的直径是多少?

一棵树的直径T是以下数量中的最大值: T的左子树的直径 T的右子树的直径 通过T的根的叶子之间的最长路径(这可以根据T的子树的高度来计算) 来源: https://www2.cs.duke.edu/courses/spring00/cps100/assign/trees/diameter.html 但是,它没有说没有至少两片叶子的树的直径是多少,例如仅根树或1->.2?是0, ..
发布时间:2021-04-15 19:39:25 其他开发

在c中以递归方式打印二叉树

我一直在研究一个基本上应该打印程序中已有的二叉树的函数,但是我遇到了问题.这棵树是动态的,值是数字,将在右侧添加较大的新数字,在左侧添加较小的数字. 基本上,应该打印树的方式是这样的:假设只有根的值为3,则输出为: (3) 添加值为2的节点后 (((2)(8)) 我得到的输出: (( ..
发布时间:2021-04-15 19:39:22 其他开发

如何按顺序打印出二叉树?

我正在努力打印我编码的二叉树.这是一个小程序,您可以在其中输入不同的状态,然后在二叉树中按字母顺序对它们进行排序,然后再按字母顺序将它们打印出来. 我应该如何开始使用列表功能?我在互联网上读到,递归算法是最好的,但是我真的不知道如何在我的设置中做到这一点. #include#include#include使用命名空间std;int ..
发布时间:2021-04-15 19:39:19 C/C++开发

Java如何从字符串填充二叉树

我想根据这样的字符串,用整数填充二叉树. [int](LT)(RT) LT是树左侧的相同形式的表达式.与RT相同.一个有效的字符串应该是这样的: 4(2(1)(3))(6(5)(7).我怎么填充这棵树?这样,它就可以用节点填充每个“级别".谢谢您的帮助. 解决方案 您必须为此创建一个解析器,并使用解析器中的指令填充某种数据结构. 然后,当数据结构填充完毕时,只需将其推入树中即 ..
发布时间:2021-04-15 19:39:16 Java开发

二进制搜索树数组展示次数.C ++

我只是在插入数组时遇到麻烦...并且让子级从根或“父级"分支出来.. 我一直在尝试将数据插入到基于数组的BST实现中: BST :: BST(int容量):项目(新项目[容量]),大小(0){//定义BST类的构造函数.}无效的BST :: insert(const data& aData){if(items [root] .empty)//将第一个数据设为根.{items [root] ..
发布时间:2021-04-15 19:39:13 C/C++开发

如何使用Java创建包含在二叉树的最大深度中的节点的链表

我已经创建了Binary Tree和Linked列表类,我只需要一种仅打印最大路径的节点的算法.二叉树的高度和大小已经存储在根节点中,但是我的问题是在将每个节点添加到链接列表时仅遍历最大路径. 解决方案 我假设您的二叉树节点有对其父节点的引用,对吗?然后,您可以使用广度优先搜索或深度优先搜索来查找深度等于最大深度的根节点.一旦找到一个这样的节点,就从那里沿着父节点的踪迹前进,然后将每个节点 ..
发布时间:2021-04-15 19:39:10 Java开发

将随机二叉树表示为数组?

我正在阅读有关 Eytzinger的方法将二进制树存储为数组. 有没有一种简单的方法可以用数组实现类似的东西? 注意:答案中的语言没有偏爱. 解决方案 一个简单的解决方案可以简单地创建一个数组,就好像该树是完整的二叉树,然后填充丢失的节点带有“空"单元格. 空值可以用特殊值(取决于域)来表示,例如:null,负整数等. 如果没有特殊值可用,则可以创建另一个相同大小的 ..
发布时间:2021-04-15 19:39:07 其他开发

给定级别的二叉树节点数

我需要编写一个程序,该程序从二进制给出的特定级别计算节点数树. 我的意思是 我尝试编写它没有成功,因为我不知道如何达到某个水平然后再去计算节点数. 解决方案 使用递归函数执行此操作,该递归函数仅下降到特定级别. ..
发布时间:2021-04-15 19:39:04 C/C++开发

Python中的递归顺序二叉树遍历-Nonetype错误

我的代码中的辅助方法存在问题.我提供了正确和不正确的方法来解决问题,但是我看不到两者之间的区别. 我的方法: def preorder_print(自身,开始,遍历):如果开始==无:返回遍历别的:遍历+ = str(start.value)遍历= self.preorder_print(start.left,遍历)遍历= self.preorder_print(start.right, ..
发布时间:2021-04-15 19:38:58 Python

遍历二叉树的功能

我只是从树开始,正在编写一个遍历二叉树并访问每个节点的函数.我正在为树中的每个节点调用一个名为doS​​omething(TreeNode * thisNode)的函数.我想确定我所拥有的是否正确,并且我处在正确的轨道上?谢谢! void MyTree :: Traverse(TreeNode * rt){如果(rt!= NULL)导线(rt->左);doSomething(rt);遍历(rt ..
发布时间:2021-04-15 19:38:54 C/C++开发

平衡二叉树上的删除

我有一个用于将数据插入平衡二叉树的代码,所以示例是,如果我输入以下输入: 20、10、30、5、15、25、4 我希望输入后的树看起来像这样: 20/\10 30///5 15 25 4 因此,在删除时,除了删除4个以外,其他所有功能都正常4在删除功能中属于情况1, 问题是,我不明白为什么删除4无效,但是删除5、15、25时有效吗? 我从 https://www.yout ..
发布时间:2021-04-15 19:38:51 其他开发

调整Construct()函数

class节点:def __init __(self,data,left = None,right = None):self.data =数据self.left =左self.right =正确def构造(开始,结束,预定,pIndex,dict):# 基本情况如果开始>结尾:返回None,pIndex根=节点(preorder [pIndex])pIndex = pIndex +1索引= di ..
发布时间:2021-04-15 19:38:48 Python

通过检查是否存在循环来确定二叉树有效性的函数

我必须完成功能 bool HasLoop(Node *根){} 通过检查二叉树是否存在循环来确定二叉树的有效性. 举个例子: 有效:X1/\X4 X5\X3 X7无效的:X1/\X4 X5\/\X3 X7 我的想法是将遍历的每个节点标记为已访问,如果再次遇到已访问的节点,我们将知道存在一个循环.但是大多数示例都涉及集合,而我们的课程还没有结束.我该如何进行? 编辑:我想做 ..
发布时间:2021-04-15 19:38:45 C/C++开发