gpt4 book ai didi

java - 二 fork 树的最左节点和最右节点是什么?

转载 作者:行者123 更新时间:2023-12-01 10:59:09 31 4
gpt4 key购买 nike

我正在阅读this在一个地方写着

最右边的节点将是左子树中具有最大值的节点,我假设最左边的节点是右子树中的最大值。

但是,在 another article它向我展示了查找最左边节点的不同方法:

1) 如果给定节点没有右子节点:

转到给定节点的根,直到它是任何节点的左子节点。该节点将是树中的下一个更高节点。

2) 如果给定节点有右子节点:

a) 如果给定节点的右子节点没有左子节点

The right child will be the next higher node.

b) 如果给定节点的右子节点有左子节点

The leftmost leaf node will be the next higher node.

即第二种方法不会像第一种方法建议的那样返回最大值(value),请澄清..

最佳答案

根据您附加的链接判断,我假设您专门讨论二叉搜索树,它具有有关其节点构成的规则。

作为二叉树(以及扩展的子树)的一般规则:

  • 节点右侧的每个子节点都将大于该节点。
  • 节点左侧的每个子节点都小于该节点。

因此,任何给定子树的最右边的子节点将始终是最高值。此外,任何给定子树的最左边的子节点始终是最低值。

请记住,二叉树与二叉搜索树略有不同,这些规则不一定适用于二叉树。

让我们使用以下二叉搜索树作为示例:

        9
/ \
4 13
/ \ / \
1 5 11 16

假设我们正在尝试寻找树中的最高节点值。如果我们从节点 9(“根”)开始,我们将继续向下遍历该节点的每个右子节点,直到不再有右子节点(即从节点 9 开始,然后向下移动到节点 13,然后结束节点 16 )。因此,16 是树中的最高值。

与搜索树中的最低节点值类似,我们从树的根节点开始,继续向下遍历每个左子节点,直到不再存在左子节点。

来源:在大学的数据结构和算法类(class)中学到了这一点(IT 学生)

希望这对您有所帮助,并且请随时纠正我可能犯的任何错误(我是新来的)。

关于java - 二 fork 树的最左节点和最右节点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33458794/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com