【数据结构】树的基本性质(计算树的总结点数与叶结点数)

树的基本性质

⭐️计算树的总结点与叶结点数

💫性质1

性质1 树中的结点数等于所有结点的度数之和加1

例如上面这棵树,A的孩子为B、C、D,A的度数为3;B的孩子为E、F,B的度数为2;C的孩子为G,C的度数为1;D的孩子为H、I,D的度数为2...

结点数=A的度数+B的度数+C的度数+D的度数+...+J的度数+K的度数+L的度数+M的度数+1

=(B+C+D)+(E+F)+G+(H+I)+...+0+0+0+0+1

也就是结点数等于每个结点的孩子树之和(度之和)再加1,这个1就是根节点。

总结点数:n=13;

树的度:m=3;

n0(度为0的结点数)=7;

n1(度为1的结点数)=2;

n2(度为2的结点数) =2;

n3(度为3的结点数)=2;
n = 7 ∗ 0 + 2 ∗ 1 + 2 ∗ 2 + 2 ∗ 3 + 1 n=7*0+2*1+2*2+2*3+1 n=7∗0+2∗1+2∗2+2∗3+1

💫性质2

性质2 结点表示个数:n为总结点个数, n i {n_i} ni为度为i(0≤i≤m)的结点个数,则 n = n 0 + n 1 + . . . + n m {n=n_0+n_1+...+n_m} n=n0+n1+...+nm

对于上面这棵树

总结点树 n=13;

这树的度数m=3;
n 0 {n_0} n0=7;
n 1 {n_1} n1=2;
n 2 {n_2} n2=2;
n 3 {n_3} n3=2;
n = n 0 + n 1 + n 2 + n 3 n={n_0+n_1+n_2+n_3} n=n0+n1+n2+n3

对于上面两种计算树的结点的方法,我认为一个是从一个结点本身出发,计算它自己本身;另一种是从它的孩子出发,计算之和 ,但由于这样树的根节点没有被纪录,所以不要忘了加1。

💫例题1

一颗树度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶子结点个数为()

A.41 B.82 C.113 D.122
分析:

从两种角度出发:

从结点自身:

总结点 n = 20 + 10 + 1 + 10 + n 0 n=20+10+1+10+n_0 n=20+10+1+10+n0

从结点的孩子:

总结点 n = 20 ∗ 4 + 10 ∗ 3 + 1 ∗ 2 + 10 ∗ 1 + 1 n=20*4+10*3+1*2+10*1+1 n=20∗4+10∗3+1∗2+10∗1+1

联立上面两式,可以解得 n 0 = 82 n_0=82 n0=82

💫例题2

已知一棵树度为m的树中有 n 1 n_1 n1个度为1的结点, n 2 n_2 n2个度为2的结点,..., n m n_m nm个度为m的结点,问该树中有多少个叶子结点?

设总结点n

则 n = n 1 + n 2 + . . . + n m + n 0 n=n_1+n_2+...+n_m+n_0 n=n1+n2+...+nm+n0

且 n = 1 ∗ n 1 + 2 ∗ n 2 + 3 ∗ n 3 + . . . + m ∗ n m + 1 n=1*n_1+2*n_2+3*n3+...+m*n_m+1 n=1∗n1+2∗n2+3∗n3+...+m∗nm+1

联立解得, n 0 = n 2 + 2 n 3 + 3 n 4 + . . . + ( m − 1 ) n m + 1 n_0=n_2+2n_3+3n_4+...+(m-1)n_m+1 n0=n2+2n3+3n4+...+(m−1)nm+1

相关推荐
꧁༺❀氯ྀൢ躅ྀൢ❀༻꧂几秒前
实验4 循环结构
c语言·算法·基础题
新晓·故知25 分钟前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
总裁余(余登武)36 分钟前
算法竞赛(Python)-万变中的不变“随机算法”
开发语言·python·算法
Eric.Lee20211 小时前
音频文件重采样 - python 实现
人工智能·python·深度学习·算法·audio·音频重采样
gorgor在码农1 小时前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
huapiaoy1 小时前
Redis中数据类型的使用(hash和list)
redis·算法·哈希算法
冷白白1 小时前
【C++】C++对象初探及友元
c语言·开发语言·c++·算法
鹤上听雷2 小时前
【AGC005D】~K Perm Counting(计数抽象成图)
算法
一叶祇秋2 小时前
Leetcode - 周赛417
算法·leetcode·职场和发展
武昌库里写JAVA2 小时前
【Java】Java面试题笔试
c语言·开发语言·数据结构·算法·二维数组