binary-search-tree相关内容

分割二叉搜索树

给定一个BST树,我们必须根据输入(N)将其分解为两个子树,其中subtree1由小于或等于N的所有节点组成,而subtree2由所有小于或等于N的节点组成大于N。 50 / \ 40 60 / \ / 30 45 55 \ 58 输出: 50 / 40 / \ 30 45 60 / 55 ..
发布时间:2020-10-17 23:57:51 Java开发

删除整个二进制搜索树的最有效方法

我想知道删除整个二进制搜索树的最有效方法.也不要让任何内存泄漏,因此必须先检查子树中的所有节点是否都被删除. 除了后遍历遍历,我想不出任何有效的方法,可以随时删除.有什么建议或想法吗? 解决方案 只需将您的根节点设置为null.让垃圾收集器完成其工作. ..
发布时间:2020-09-21 00:30:44 Java开发

更改二分搜索树以平衡

我刚刚学习了如何创建二进制搜索数据结构,该结构将用于存储字典中的数千个单词.我遇到的问题是计算添加和删除数据需要花费很长时间.通常用199263ms或200秒计算100000个字.有人告诉我,拥有一棵可以自我平衡的树会提高效率,并使操作更快. 我的问题是如何使我的树自动平衡,以使其高效.通过消除重复的单词使树的高度更短,我进行了一些改进. 如果有人可以给我一些建议,以帮助我提高树的效率 ..
发布时间:2020-09-21 00:30:40 Java开发

在BST中删除节点

这不是家庭作业.我对此完全被封锁.我知道该怎么办,但我在操纵树上遇到困难.请帮忙. 我正在尝试从BST删除节点.我可以查找并找到父级并将其存储在树中. package com.test.binarytree; public class BinaryTreeDelete { private Node root; //create null binary tree public Bi ..
发布时间:2020-09-21 00:29:26 其他开发

二进制搜索树的插入功能有问题

我正在使用递归函数将节点插入到我的二进制搜索树中.该程序通过创建根节点(如果没有)来工作.根是指向节点结构的指针.如果根目录已经存在,我将调用worker函数. 注意:键是int,Item是字符串. 在调用worker函数时,current->key(-858993460)和current->item(Error reading characters of string)不是他们期望的 ..
发布时间:2020-09-21 00:28:14 C/C++开发

修改二进制搜索以查找然后删除

我对编程非常陌生,并且正在使用C ++语言.这是我的作业,并且正在使用二进制搜索树.我正在尝试做的是创建一个名为find_node的函数,然后再调用一个名为delete_node的函数.这是老师作为提示提示find_node函数的内容. 教授的提示: 添加void find_node( const T &val ) 类Node的方法以查找包含val的节点; 如果找不到,则无事可做 如果 ..
发布时间:2020-09-21 00:28:11 C/C++开发

C ++从二进制搜索树中删除具有两个子节点的特定节点

我目前正在开发一个程序来处理c ++中的BST.我目前正在使用所有功能,除了removeNode会删除树中具有给定键值的节点.我认为前两个案例都能奏效,但第三个案例给我带来了麻烦.我知道如何删除有两个孩子的节点的逻辑,但是该代码目前对我不起作用.这是节点 struct node{ int key; node* left; node* right; }; 这是删除功 ..
发布时间:2020-09-21 00:28:05 C/C++开发

C二叉树排序-扩展它

我需要C语言方面的帮助 帮我扩展对C的二叉树排序.我需要在 sort 函数中返回一个排序后的数组. 在这里: #include #include struct btreenode { struct btreenode *leftchild ; int data ; struct btreenode *rightc ..
发布时间:2020-09-21 00:27:51 其他开发

二进制搜索树到列表方案

我在理解如何使用BST并将其转换为列表而不使用附加或任何高级技术时遇到了麻烦.例如,为您提供了一个BST,每个节点都有一个数字和名称(按从最小到最大的字符串排序),并且您想要按顺序输出该BST中值为3或类似值的项目的列表.这些行. 我知道这可以递归完成,但是我认为了解这一点的最大问题与左右节点的拆分有关,因为您在这两个节点上都使用了递归,但是您必须以某种方式将它们放在一起在最终列表中. ..
发布时间:2020-09-21 00:26:39 其他开发

将排序后的数组转换为最小高度的二叉搜索树

我想将排序后的整数数组转换为二进制搜索树.我已经在下面发布了我的代码.我无法想象的是,递归实际上是如何与for循环一起插入的. 因此,如果我的数组是[1,3,4,5,8,10],我将数组的中间设为4,成为BST的根,然后从数组的开头循环并插入到刚创建的带有根的树.我的问题是为什么插入结果的顺序不像给定的数组那样? public TreeNode sortedArrayToBST(int[] ..
发布时间:2020-09-21 00:26:37 Java开发

在BinarySearchTree中插入方法

嘿,我写了某种二进制搜索树,它有一个插入方法. 因此,它将获得一个要插入的对象,一个字符数组和一个整数,以为其提供索引以供查看. 这是插入方法: public void insert(Buchstabe pBuchstabe,char[] pChar,int pStelle) { if(pBuchstabe==null) return; if(baum ..
发布时间:2020-09-21 00:25:24 Java开发