对于一棵平衡树,如果以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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)