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

对于一棵平衡树,如果以 Nh 表示深度为h时含有的最少结点数。有如下的规律:

N0=0,N1=1,N2=2;Nh=Nh1+Nh2+1

这里研究的是最小结点数,最多结点数自然是满二叉树时的,不必像最少结点这样需要递推分析。

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

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

举例如下:

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

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

你可能感兴趣的:(算法学习)