如果一棵非空 k(k≥2)叉树 T 中每个非叶结点都有 k 个孩子,则称 T 为正则 k 叉树。请回答下列问题并给出推导过程。
(1)若 T 有 m 个非叶结点,则 T 中的叶结点有多少个?
(2)若 T 的高度为 h(单结点的树 h=1),则 T 的结点数最多为多少个?最少为多少个?
(1)
1.全部节点个数 = 叶子节点个数 + 非叶子节点个数 (“常识”)
2.树枝个数(即边数) = 全部节点个数 - 1(树的性质)
3.树枝个数 = 全部节点的度数之和(不知道的可以画个图,这好像也是性质)
4.全部节点的度数之和 = 度数为k的节点个数 * k + 度数为k-1的节点个数 * k-1 + …… +度数为0的节点个数 * 0 = 度数为k的节点个数 * k + 度数为0的节点个数 * 0 = 度数为k的节点个数 * k = 非叶子节点个数 * k(正则K叉树的定义)
由以上四个等式就能求出来叶子节点的个数为(k-1)m+1
(2)
最多:
第一层数量:1;第二层数量:k;第三层树林里:k^2;……,等比数列,最终得到(1-k^h)/(1-k)
最少:
除了第一层之外,每一层都是k个,最终得到k(h-1)+1拙劣滑稽,大佬轻喷