Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二叉搜索树中的删除操作_Java_Binary Search Tree - Fatal编程技术网

Java 二叉搜索树中的删除操作

Java 二叉搜索树中的删除操作,java,binary-search-tree,Java,Binary Search Tree,我必须为一个类硬编码一个二进制搜索树。我有点理解删除节点的删除方法,但我得到的是关于我用什么替换它的混合信息 我被告知使用右子树中最左边的节点或左子树中最右边的节点。。。我要替换为右子树中最小的节点还是左子树中最大的节点 我用哪一个有区别吗?我是否应该同时实现这两个功能,并让程序交替关闭每一个功能?您实现哪一个都无所谓。将删除的节点替换为左子树最右边的节点或右子树最左边的节点都将生成有效的二叉搜索树 如果你愿意的话,你可以在它们之间交替尝试并保持一些平衡。您还可以选择高度较高的子树进行删除,以实

我必须为一个类硬编码一个二进制搜索树。我有点理解删除节点的删除方法,但我得到的是关于我用什么替换它的混合信息

我被告知使用右子树中最左边的节点或左子树中最右边的节点。。。我要替换为右子树中最小的节点还是左子树中最大的节点


我用哪一个有区别吗?我是否应该同时实现这两个功能,并让程序交替关闭每一个功能?

您实现哪一个都无所谓。将删除的节点替换为左子树最右边的节点或右子树最左边的节点都将生成有效的二叉搜索树

如果你愿意的话,你可以在它们之间交替尝试并保持一些平衡。您还可以选择高度较高的子树进行删除,以实现类似的效果