平衡树的深度与最少结点数问题

对于一棵平衡树,如果以NhNh表示深度为h时含有的最少结点数。有如下的规律:
N0=0,N1=1,N2=2;Nh=Nh−1+Nh−2+1
这里研究的是最小结点数,最多结点数自然是满二叉树时的,不必像最少结点这样需要递推分析。

最少结点的情况还可以从平衡因子看:所有非叶结点的平衡因子均为1。可以推论的是,均为-1也是最少结点的情况。

通常会围绕着最少结点,最大深度反复考察这个知识点。比如给定深度问最少需要多少个结点。或者给定结点数问最大能达到多少深度。
因此这个知识点可以形象化为深度是想达成的效果,越大越好,结点数是花费的成本,越小越好。

举例如下:

1.含有20个结点的平衡二叉树的最大深度是(6)。
分析:N0=0,N1=1,N2=2⟹N5=12,N6=20N0=0,N1=1,N2=2⟹N5=12,N6=20,即构成深度为5的树至少需要12个结点,深度为6至少需要20个结点,因此20个结点能够达到的最大深度是6.

2.具有5层结点的AVL树至少含有(12)个结点。
分析:由上面同样分析模式,5层至少含有12个结点。

因此得到如下递归公式
f(0)=0, f(1)=1, f(2)=2。
f(h)=f(h-1)+f(h-2)+1。

你可能感兴趣的:(平衡树的深度与最少结点数问题)