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不在树上
确切位置取决于每个值的插入顺序,但在这种值配置中,4应该位于5的左侧。尝试手动遍历树;假装你是一个寻找4的函数
- 从树的根开始:7
- 4比7小,所以你向左走到5
- 4小于5,所以你再向左走
- 那里什么都没有,所以你会得出结论4不在树上
确切的位置取决于每个值的插入顺序,但在这种值配置中,4应该在5的左边。这肯定是一棵二叉树,因为每个节点只有两片叶子
但正如其他人所说,它不是一个二进制搜索树。判断的方法是,对于每个节点,所有左叶的值都应该小于self的值,所有右叶的值都应该大于self的值。只有这样才能执行二进制搜索。它肯定是一个二叉树,因为每个节点只有两片叶子 但正如其他人所说,它不是一个二进制搜索树。判断的方法是,对于每个节点,所有左叶的值都应该小于self的值,所有右叶的值都应该大于self的值。只有这样才能执行二进制搜索