设某哈夫曼树中有199个结点,则该哈夫曼树中有()个叶子结点.

A、99 B、100 C、101 D、102

答案:B

我想知道这道题怎么做。谢谢。

根据二叉树的性质:n2 = n0 - 1,列方程组得{n2 = n0 - 1, n0 + n2 = 199},解方程组得 n0 = 100,所以叶子结点有100个。

叶子结点是离散数学中的概念。一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称“叶子”。 叶子是指出度为0的结点,又称为终端结点。

扩展资料:

哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。

树的路径长度是从树根到每一结点的路径长度之和,记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。可以证明哈夫曼树的WPL是最小的。

一棵树度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1,求这棵树的叶子节点个数。

解:因为任一棵树中,结点总数=度数*该度数对应的结点数+1,所以:

总结点数=1*4+2*2+3*1+4*1+1=15

叶子结点数=15-4-2-1-1(总节点数-度不为0的个数)=7

则:n0=7

其中:n0表示叶子结点

参考资料来源:百度百科-叶子结点

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-27

设某哈夫曼树中有199个结点,则该哈夫曼树中有100个叶子结点

给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

哈夫曼编码:

哈夫曼静态编码:它对需要编码的数据进行两遍扫描:第一遍统计原数据中各字符出现的频率,利用得到的频率值创建哈夫曼树,并必须把树的信息保存起来,即把字符0-255(2^8=256)的频率值以2-4BYTES的长度顺序存储起来,(用4Bytes的长度存储频率值,频率值的表示范围为0--2^32-1,这已足够表示大文件中字符出现的频率了)以便解压时创建同样的哈夫曼树进行解压;第二遍则根据第一遍扫描得到的哈夫曼树进行编码,并把编码后得到的码字存储起来。

哈夫曼动态编码:动态哈夫曼编码使用一棵动态变化的哈夫曼树,对第t+1个字符的编码是根据原始数据中前t个字符得到的哈夫曼树来进行的,编码和解码使用相同的初始哈夫曼树,每处理完一个字符,编码和解码使用相同的方法修改哈夫曼树,所以没有必要为解码而保存哈夫曼树的信息。编码和解码一个字符所需的时间与该字符的编码长度成正比,所以动态哈夫曼编码可实时进行。

本回答被网友采纳
第2个回答  2013-06-29
1. 除只有一个叶子结点的哈夫曼树以外其是没有1度结点的树。遵照二叉树的定义
二度结点等于叶子(零度结点数)减1,因此199个结点中有100个结点是叶子结点。
2. 除只有一个叶子结点的哈夫曼树以外其是没有1度结点的树是由其构造过程决定的,
因为哈夫曼树构造时总是在森林中选出两个根结点的权值最小的树合并,作为一棵新
树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和。因此哈夫曼
树中的分支结点都是有左右子树的2度结点。
第3个回答  2013-06-28
哈夫曼树的叶子结点总比内结点多一个,不信可以试一下,画个图。追问

那还是麻烦你给我详细解说一下吧,内结点我也听不懂。就是这部分的知识我没学,我想直接做题,你给我讲一下好了,谢谢!

追答

内结点就是不是叶子结点的结点,在哈夫曼树中,只有度为0(叶子结点),度为2(内结点),没有度为1的结点,设叶子结点的个数为n0,度为2的结点的个数为n2,则总结点数=总读数+1,即n0+n2=2*n2+1=》n0=n2+1,设总结点数为n,n=n0+n2=》n=n0+n0-1=》n0=(n+1)/2

本回答被提问者采纳
相似回答