Data structures 二叉搜索树的最小值不能是最左边的条目吗?

Data structures 二叉搜索树的最小值不能是最左边的条目吗?,data-structures,language-agnostic,binary-tree,dsa,Data Structures,Language Agnostic,Binary Tree,Dsa,如果我像下面那样构造一个二叉搜索树,对吗?或者这样的树不是有效的二进制搜索树 7 / \ 5 8 / \ 4 10 因为我遵循了左边小元素,右边大元素的规则。所以我想象这是一个二元搜索树?尝试手动遍历树;假装你是一个寻找4的函数 7 / \ 5 8 / \ 4 10 从树的根开始:7 4比7小,所以你向左走到5 4小于5,所以你再向左走 那里什么都没有,所以你会得出结论4不在树上 当然,这是不正确的,所以

如果我像下面那样构造一个二叉搜索树,对吗?或者这样的树不是有效的二进制搜索树

    7
   / \
  5   8
     / \
    4  10

因为我遵循了左边小元素,右边大元素的规则。所以我想象这是一个二元搜索树?

尝试手动遍历树;假装你是一个寻找4的函数

    7
   / \
  5   8
     / \
    4  10
  • 从树的根开始:7
  • 4比7小,所以你向左走到5
  • 4小于5,所以你再向左走
  • 那里什么都没有,所以你会得出结论4不在树上
当然,这是不正确的,所以不,对于BST来说,这不是一个有效的设置。不仅仅是每个值都需要相对于其直接父级处于正确的位置。每个值还需要相对于树中的其他节点处于正确的位置


确切位置取决于每个值的插入顺序,但在这种值配置中,4应该位于5的左侧。

尝试手动遍历树;假装你是一个寻找4的函数

  • 从树的根开始:7
  • 4比7小,所以你向左走到5
  • 4小于5,所以你再向左走
  • 那里什么都没有,所以你会得出结论4不在树上
当然,这是不正确的,所以不,对于BST来说,这不是一个有效的设置。不仅仅是每个值都需要相对于其直接父级处于正确的位置。每个值还需要相对于树中的其他节点处于正确的位置


确切的位置取决于每个值的插入顺序,但在这种值配置中,4应该在5的左边。

这肯定是一棵二叉树,因为每个节点只有两片叶子


但正如其他人所说,它不是一个二进制搜索树。判断的方法是,对于每个节点,所有左叶的值都应该小于self的值,所有右叶的值都应该大于self的值。只有这样才能执行二进制搜索。

它肯定是一个二叉树,因为每个节点只有两片叶子

但正如其他人所说,它不是一个二进制搜索树。判断的方法是,对于每个节点,所有左叶的值都应该小于self的值,所有右叶的值都应该大于self的值。只有这样才能执行二进制搜索