已知一颗度为m的树中,有n1个度为1的结点,有n2个度为2的结点...有nm个度为m的结点,问该树有多少个叶子结点

度为4的树:说明该树中结点的最大度数为4(也就是结点的分枝数量最多4个)
度为4的树:

  • 度:某个节点的子节点个数
  • 叶结点:度为0的结点
  • 度为4的树,说明该树中结点的子结点最多为4个
  • 树中结点总个数=(所有的结点的度数)+1
    在树中,除了根节点没有前驱结点,其他节点有且只有一个前驱节点(树的定义)
    又∵ 父结点的‘度’是子结点的个数,而每个子结点前驱结点都是该父结点
    因此,所有结点的“度”加起来,就是把所有结点子结点的个数加起来,又因为,根结点没有父节点,所以所以没有把根结点算计进来,于是:树中结点总个数=(所有的结点的度数)+1(根节点)
    推广→ 一个森林的所有结点数=(所有结点的度数+n(n棵树,每棵树只有一个根节点)

解:设该树的叶结点个数= n 0 n_0
因为叶结点的度为0
s u m = n 0 0 + n 1 1 + n 2 2 + . . . + n m m + 1 ( ) 总的结点个数sum=n_0*0+n_1*1+n_2*2+...+n_m*m+1(根节点)
s u m = n 0 + n 1 + n 2 + . . . + n m 总的结点个数sum=n_0+n_1+n_2+...+n_m
n 0 = s u m ( n 1 + n 2 + . . . + n m ) = n 1 ( 1 1 ) + n 2 ( 2 1 ) + n 3 ( 3 1 ) + n m ( m 1 ) + 1 = i = 1 n ( i 1 ) n i + 1 所以该树的叶结点个数n_0=sum-(n_1+n_2+...+n_m)=n_1*(1-1)+n_2*(2-1)+n_3*(3-1)+n_m*(m-1)+1=\sum_{i=1}^n(i-1)*n_i +1

发布了70 篇原创文章 · 获赞 71 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43625764/article/details/103926577