在电话屏幕采访中有人问我这个问题,但我无法回答。例如,在一个BST中,我知道最大节点数由2 ^ h给出(假设根节点的高度为0)
我想问,平衡的二叉搜索树(对于AVL,红黑树)是否也有类似的数学结果,即特定级别k的节点数。
谢谢!
答案 0 :(得分:0)
一棵平衡的二叉树从一个节点开始,该节点有两个后代。然后,每个人又有两个后代。因此每个级别将有1、2、4、8等个节点。
您可以使用2^(level-1)
作为公式。最后一行可能不会完全填满,因此可以包含更少的元素。
由于平衡步骤的成本很高,因此通常在树的每次变异之后实现都不会重新平衡。他们宁愿运用启发式方法来找出何时进行重新平衡才是最有意义的。因此,在实践中,与树完全平衡相比,级别可能具有更少的节点,并且从错误位置插入的节点可能还会有其他级别。