树中结点,高度及度的计算

树中结点,高度及度的计算

计算\(m\)叉树的最小高度

层数

结点数

第一层

\(1\)

第二层

\(m^1\)

第三层

\(m^2\)

\(\vdots\)

\(\vdots\)

第\(h\)层

\(m^{h-1}\)

故要求得最小高度每层都应为满结点的\(m\)叉树。设结点数为\(n\),则\(n\le 1+m^1+m^2+\cdots+m^{h-1}\)。利用数列前\(n\)项和公式:

\[\begin{equation*}

\begin{aligned}

&等差数列前n项和:S_n=\frac{n(a_1+a_n)}{2}=na_1+\frac{n(n+1)}{2}d\\

\\

&等比数列前n项和:S_n=\frac{a_1(1-q)^n}{1-q}

\end{aligned}

\end{equation*}

\]

\(n\le\frac{1·(1-m^{h-1})}{1-m}\Longrightarrow nm-n+1\le m^{h-1}\)两边取对数得:

\[h=\lceil\log_m(n(m-1)+1)\rceil

\]

树易混淆概念

注意区分以下概念:

树的高度:是从下往上数

树的深度:从上往下数

树的度:各结点的度的最大值

如上面树的度\(=3\),是结点D

度的计算

树中结点数等于所有结点的度数之和加上\(1\)(根节点)

度为\(m\)的树中第\(i\)层至多有\(m^{i-1}\)个结点,即满\(m\)叉树的情况。

\(\Large 例1:\)已知一棵树度为\(4\)的树中,度为\(0,1,2,3\)的结点数分别为\(14,4,3,2\),求该树的结点总数\(n\)和度为\(4\)的结点个数,并给出推导过程。

\[\begin{equation*}

\begin{aligned}

\\\Large{解:}\\

&设n_i表示度为i的结点,则总结点数n:\\

\\

&①n=n_0+n_1+n_2+n_3+n_4=23+n_4\\

\\

&且树种结点数等于所有结点度数之和+1\\

\\

&②n=n_0·0+n_1·1+n_2·2+n_3·3+n_4·4\\

\\

&=0·14+1·4+2·3+3·2+4·n_4+1\\

\\

&=17+4n_4\\

\\

&故17+4n_4=23+n_4,得n_4=2,n=25\\

\\

&\therefore 该树总结点数为25,n_4为2

\end{aligned}

\end{equation*}

\]

\(\Large 例2:\)已知一棵度为\(m\)的树中,有\(n_1\)个度为\(1\)的结点,有\(n_2\)个度为\(2\)的结点\(\cdots\)有\(n_m\)个度为\(m\)的结点,问该树有多少个叶结点。

\[\begin{equation*}

\begin{aligned}

\\\Large{解:}\\

&树中结点数等于所有结点的度数之和加上1:\\

\\

&即n=n_1+2n_2+\cdots+mn_m+1=\sum_{i=1}^{m}in_i+1\\

\\

&且总结点数n=n_0+n_1+\cdots+n_m,即\\

\\

&n_0=\sum_{i=1}^{m}in_i-(n_1+n_2+\cdots+n_m)+1\\

\\

&=\sum_{i=1}^{m}in_i-\sum_{i=1}^{m}n_i+1=1+\sum_{i=1}^{m}n_i(i-1)

\end{aligned}

\end{equation*}

\]

相关推荐