【问题标题】:can a binary search tree has two branches only?二叉搜索树可以只有两个分支吗?
【发布时间】:2022-01-02 20:31:08
【问题描述】:

根据GeeksForGeeks,二叉树在以下情况下是BST:

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

我想知道像下面这样的树是否仍然可以被认为是 BST?

     3
   2   4
 1       5
0

【问题讨论】:

  • 技术上是的,但是这个例子的结构消除了它的效率优势,使它像一个数组

标签: tree binary-tree binary-search-tree


【解决方案1】:

总之——是的。不要求树是“满的”(即每个节点都应该有两个孩子。

【讨论】:

    【解决方案2】:

    是的,它满足要求,所以它是一个二叉搜索树。即使这种退化的情况仍然是二叉搜索树:

            4
           /
          3
         /
        2
       /
      1 
    

    出于效率的原因,可以更新(插入或删除)的二叉搜索树通常会重新平衡,以最小化它们的高度。存在不同的技术来平衡二叉搜索树。见self balancing binary search tree

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多