【发布时间】:2022-01-13 02:09:00
【问题描述】:
当我们做 BST 时,我知道一个主要的关键点是左孩子必须小于右孩子。当我们创建一个 BST 并有一个根节点时,当您遍历该根节点的左侧并到达它的右孩子时,是否有可能该右孩子也大于根节点?
如果我们在该根节点的右侧进行遍历,情况也是如此。如果我们在根节点的右侧进行遍历,会不会出现碰到小于根节点值的左孩子的情况?
【问题讨论】:
当我们做 BST 时,我知道一个主要的关键点是左孩子必须小于右孩子。当我们创建一个 BST 并有一个根节点时,当您遍历该根节点的左侧并到达它的右孩子时,是否有可能该右孩子也大于根节点?
如果我们在该根节点的右侧进行遍历,情况也是如此。如果我们在根节点的右侧进行遍历,会不会出现碰到小于根节点值的左孩子的情况?
【问题讨论】:
当我们做 BST 时,我知道一个主要的关键点是左孩子必须小于右孩子。
没错,这是 BST 结构中的一件事。
当我们创建一个 BST 并有一个根节点时,当您遍历该根节点的左侧并到达它的右子节点时,是否有可能该右子节点也大于根节点?
不,这在定义上是不允许的。
Wikipedia 将 BST 定义为(我以粗体突出显示)
...一个有根的二叉树数据结构,其内部节点每个存储的键大于节点左子树中的所有键,小于其右子树中的键。
【讨论】: