回顾一下树的基本性质:
1)树中的节点数等于所有节点的度数和加一
2)度为m的数中,第i层上至多有m^i-1个节点(i>=1)
3)高度为h的m叉树至多有(m^h-1)/(m-1),当m为2时,高度为h的二叉树至多有2^h-1个节点
4)具有n个结点的m叉树的最小高度为(当这棵树为完全二叉树)
h=[logm(n*(m-1)+1)](向上取整)
5)树中的度指的是结点的分叉个数,也就是所谓的孩子个数,树的最大度数为m,则称该树为m叉树
6)二叉树的一些性质:
非空二叉树上的叶子结点数等于度为2的节点数加1,n0=n2+1
非空二叉树上第k层上至多有2^k-1个结点(k>=1)
高度为h的二叉树至多有2^h-1个节点(h>=1)
高度为h的二叉树只有度为0和2的节点,则此二叉树包含的结点个数至少为2h-1
(反过来告诉你节点数要你求最大深度,为(n+1)/2)
7)告诉你一颗完全二叉树有n个结点,问叶子节点个数
根据完全二叉树的性质,最后一个分支节点的序号为[n/2](向下取整)
则叶子结点个数为 n-[n/2](向下取整)
应用题
1)含有n个结点的三叉树的最小高度是多少?
h最小高度为h=[log3(2n+1)](向上取整)
2)已知一颗度为4的树中,度为0,1,2,3的节点数分别为14,4,3,2,求该树的结点总数n度为4的结点个数。
节点数n=23+n4,度数和为n1+2*n2+3*n3+4*n4
23+n4=4+6+6+4*n4+1
n4=2
3)已知一颗度为4的树中,有n1个度为1的节点,有n2个度为2的结点……有nm个度为m的节点,问该树中有多少个叶子结点?