题目
11.(单选题,2分)【单选题】设哈夫曼树中有199个结点,则该哈夫曼树中有( )个叶子结点。A. 99B. 100C. 101D. 102
11.(单选题,2分)【单选题】设哈夫曼树中有199个结点,则该哈夫曼树中有( )个叶子结点。
A. 99
B. 100
C. 101
D. 102
题目解答
答案
B. 100
解析
本题考查哈夫曼树的性质及相关计算。解题的关键在于理解哈夫曼树的构建过程以及结点数量之间的关系。
哈夫曼树的构建是从叶子结点开始,每次选取权值最小的两个结点合并成一个新的结点,新结点作为这两个结点的父结点,不断重复这个过程,直到所有结点合并成一棵完整的树。在这个过程中,每合并一次就会减少一个结点,同时增加一个非叶子结点。
设哈夫曼树中叶子结点的个数为 $n_0$,非叶子结点的个数为 $n_1$,总结点数为 $n$。根据哈夫曼树的性质,非叶子结点的个数 $n_1$ 比叶子结点的个数 $n_0$ 少 1,即 $n_1=n_0 - 1$。
又因为总结点数 $n=n_0 + n_1$,将 $n_1=n_0 - 1$ 代入到 $n=n_0 + n_1$ 中,可得 $n=n_0+(n_0 - 1)=2n_0 - 1$。
已知哈夫曼树中有 $n = 199$ 个结点,将其代入到 $n=2n_0 - 1$ 中,得到方程 $199 = 2n_0 - 1$。
接下来求解这个方程:
- 首先,方程两边同时加 1,得到 $199 + 1=2n_0 - 1 + 1$,即 $200 = 2n_0$。
- 然后,方程两边同时除以 2,得到 $\frac{200}{2}=\frac{2n_0}{2}$,解得 $n_0 = 100$。
所以该哈夫曼树中有 100 个叶子结点。