【问题标题】:Balanced Binary Tree平衡二叉树
【发布时间】:2010-01-03 11:37:23
【问题描述】:

二叉树(或二叉树的家族)的名称是什么 树),它是平衡的,并且具有最少的节点数 它的高度可能吗?

【问题讨论】:

  • 只是为了迂腐......高度为 N 的树的最小节点数有 N 个节点(即:每个节点都有一个子节点),并且不平衡。也许您的意思是“其节点数的最小高度”?
  • @Moody 必须是搜索树吗?
  • @Tordek:问题中的措辞是有效的。高度为 4 的平衡二叉树的最小节点数为 8,高度 5 为 16,高度 6 为 32,...高度 n 为 2^(n-1)。不过,我不确定这是否是穆迪想要的。

标签: data-structures


【解决方案1】:

平衡二叉树

(数据结构)

定义:一个binary tree,其中没有leafroot 的距离比任何其他都多。插入或删除 node 后,树可能会通过“旋转”重新平衡。

泛化(我是一种……) binary tree.

专业化(...是我的一种。) AVL treered-black treeB-treebalanced binary search tree

聚合子(...是我的一部分或在我身上使用。) left rotation, right rotation.

另请参阅BB(α) treeheight-balanced tree

-- http://www.itl.nist.gov/div897/sqg/dads/HTML/balancedbitr.html

【讨论】:

    【解决方案2】:

    这叫斐波那契树

    【讨论】:

      【解决方案3】:

      AVL 是具有 log(n) 高度的平衡树(这是二叉树可能的最低高度)。
      类似数据结构的另一种实现是Red Black Tree

      两棵树都实现了O(log(n))中的所有操作。

      【讨论】:

        【解决方案4】:

        AVL Tree 是您一直在寻找的东西。

        来自维基百科:

        在计算机科学中,AVL tree 是一种自平衡二叉搜索树,它是第一个发明的此类数据结构。在 AVL 树中,任何节点的两个子子树的高度最多相差 1;因此,它也被称为高度平衡。在平均情况和最坏情况下,查找、插入和删除都需要 O(log n) 时间,其中 n 是操作之前树中的节点数。插入和删除可能需要通过一个或多个树旋转来重新平衡树。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-09-13
          • 2018-08-30
          • 1970-01-01
          • 1970-01-01
          • 2015-01-08
          • 2013-12-18
          相关资源
          最近更新 更多