今天我在二叉树上做一个问题,在此期间我发现了一个令人满意的 BSTree 结构:“每个节点的左子节点值较小,右子节点值较大”。但它不是 BST(在我看来),因为 root 的价值比它的孙子要小。请解释一下。
二叉树:
7
/ \
4 10
/ \
2 8
告诉我这是不是 BST?解释 。
不是,8 > 7,但 8 在 7 的左侧。
可以在这里找到更正确的 BST 定义:
- 节点的左子树仅包含键小于节点键的节点。
- 节点的右子树仅包含键大于或等于节点键的节点。
- 左右子树也必须是二叉搜索树。
因此,尽管您的树满足每个节点左侧值较小且右侧值较大的特定情况,但它不满足涉及左右子树的更一般情况,因此不是 BST。
它不是 BST,因为树的中序遍历不会提供排序的输出。罪魁祸首是值为 8 的节点。它位于根节点的左子树中,但大于根节点 4 。