平衡二分搜索树中特定级别的节点数是多少?

时间:2018-09-22 07:48:47

标签: algorithm tree binary-tree

在电话屏幕采访中有人问我这个问题,但我无法回答。例如,在一个BST中,我知道最大节点数由2 ^ h给出(假设根节点的高度为0)

我想问,平衡的二叉搜索树(对于AVL,红黑树)是否也有类似的数学结果,即特定级别k的节点数。

谢谢!

1 个答案:

答案 0 :(得分:0)

一棵平衡的二叉树从一个节点开始,该节点有两个后代。然后,每个人又有两个后代。因此每个级别将有1、2、4、8等个节点。

您可以使用2^(level-1)作为公式。最后一行可能不会完全填满,因此可以包含更少的元素。

由于平衡步骤的成本很高,因此通常在树的每次变异之后实现都不会重新平衡。他们宁愿运用启发式方法来找出何时进行重新平衡才是最有意义的。因此,在实践中,与树完全平衡相比,级别可能具有更少的节点,并且从错误位置插入的节点可能还会有其他级别。