提问者:小点点

在一个平衡的二叉查找树中,特定级别的节点数是多少?


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

我想问,平衡二叉查找树是否也有类似的数学结果(对于AVL,Red Black树?),即特定级别k的节点数。

谢谢!


共1个答案

匿名用户

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

作为一个公式,你可以使用2^(level-1).最后一行可能没有完全填满,所以它可以包含较少的元素。

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