5

今天我在二叉树上做一个问题,在此期间我发现了一个令人满意的 BSTree 结构:“每个节点的左子节点值较小,右子节点值较大”。但它不是 BST(在我看来),因为 root 的价值比它的孙子要小。请解释一下。

二叉树:

      7
     /  \
    4    10
   / \
  2   8

告诉我这是不是 BST?解释 。

4

3 回答 3

4

不是,8 > 7,但 8 在 7 的左侧。

于 2012-09-07T04:33:19.110 回答
4

可以在这里找到更正确的 BST 定义:

  • 节点的左子树仅包含键小于节点键的节点。
  • 节点的右子树仅包含键大于或等于节点键的节点。
  • 左右子树也必须是二叉搜索树。

因此,尽管您的树满足每个节点左侧值较小且右侧值较大的特定情况,但它不满足涉及左右子树的更一般情况,因此不是 BST。

于 2012-09-07T04:49:50.393 回答
0

它不是 BST,因为树的中序遍历不会提供排序的输出。罪魁祸首是值为 8 的节点。它位于根节点的左子树中,但大于根节点 4 。

于 2012-09-07T08:53:33.100 回答