首页 > 试题广场 >

一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到(

[单选题]
一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字
  • 107
  • 108
  • 214
  • 215
推荐
哈夫曼树并不是满二叉树,是正则二叉树(也叫正规二叉树),即其中只有度为0和度为2的结点
因为n0 = n2 + 1,n = n0 + n2; 所以 n = 2n0 - 1,即n0 = (n + 1) / 2;叶子结点n0对应的即是不同的编码。
至于满二叉树当然也是正则二叉树的特例。
编辑于 2016-08-24 10:20:44 回复(3)
赫夫曼树只有度为0和度为2的结点,且n0=n2+1,还有n=n0+n2+1,解方程就可以得到度为0的结点的个数,度为0也就是叶子结点。
发表于 2017-11-23 18:40:20 回复(0)
哈夫曼树,只有叶子节点才是编码字,所有的节点,要么是度为0,要么是度为2.
发表于 2016-08-16 16:10:16 回复(0)
本题的关键在于哈夫曼树是满二叉树,只有度为2的结点和度为0的结点 。权值只有叶节点才有。 又度为0的结点比度为2的结点多1(常考)。设度为0的结点为x,则x+(x-1)=215, 解得x=108.
发表于 2017-02-15 20:48:28 回复(0)
只有叶子节点才能编码,而且哈夫曼树只有度为2和0的节点
发表于 2016-08-26 10:13:33 回复(0)
B

哈夫曼树是满二叉树 (即所有的节点要么没有子节点,也就是叶子节点,  要么有左右两个子节点)。
满二叉树的 叶子节点 比 非叶子节点多1个。
所以 , 叶子节点有 (215 + 1)/ 2 = 108 

每个叶子节点对应一个码字
编辑于 2016-08-24 10:17:55 回复(14)

首先明白此题意思就是求解叶子结点的个数,其次n个结点需要n-1次合并,每次合并新建一个分支结点,则全部结点为2n-1个,由此可求n等于108

发表于 2019-10-28 09:42:15 回复(0)

本题实际上在求叶子节点个数。叶子节点个数即为赫夫曼码个数。

编辑于 2018-04-22 18:01:24 回复(0)

只有叶节点才是编码,中间节点是编码过程中产生的

发表于 2017-04-18 16:10:11 回复(0)
除了树根总共有 n-1 = 214个 
叶子节点为214的一半再加一个 

发表于 2018-10-24 12:04:46 回复(0)
利用二叉树的出度和二叉树节点的关系求解 2n2+n1+1=n2+n1+n0。 左边是出度,每个出度对应一个节点,然后加上根节点,显然根节点没有谁的出度指向他。 右边是总节点数。 所以n2+1=n0 然后哈夫曼树只有度为2和度为0的节点
发表于 2017-04-21 13:41:16 回复(0)
选B
哈夫曼树并不是满二叉树,是正则二叉树(也叫正规二叉树),即其中只有度为0和度为2的结点 因为n0 = n2 + 1,n = n0 + n2; 所以 n = 2n0 - 1,即n0 = (n + 1) / 2;叶子结点n0对应的即是不同的编码。 至于满二叉树当然也是正则二叉树的特例。
发表于 2020-06-22 09:22:29 回复(0)
假设度为0的结点有n个,则度为2的结点有n-1个,2n-1=215。n=108
哈夫曼树只有度为0和度为2的结点。
发表于 2019-12-26 08:00:24 回复(0)
b
发表于 2019-05-01 16:55:04 回复(0)

哈夫曼树中叶子节点存储编码字,所有的节点,要么是度为0,要么是度为2.且存在n_0=n_2 + 1。那么可以推出n_0 + n_2=2n_2 + 1 = n(n为哈弗曼树的节点数)

发表于 2019-04-27 11:37:05 回复(0)
哈夫曼树构造过程***新建了N-1个结点(双分支结点),哈夫曼树中结点总数为2N-1
令2N-1=215,解得N=108
发表于 2018-08-04 21:15:48 回复(0)
(int)n/2 +1 
发表于 2018-01-29 15:38:21 回复(0)
哈弗曼树是一种比较特殊的二叉树 就是他的本事只有度为0和度为2 的树  当K=8层的时候就会出现了问题  
当第一层的时候    1
                             2
                             4
                             8
                             16
                              32
                              64
                              88
当出现最后的叶子节点是88的时候,原来如果是完全二叉树 ,这叶子节点是128-88=40  这40个叶子节点对应他的上一层的节点数为10,而这十个节点是叶子节点,而哈弗曼树是对叶子结点进行编程的,所以当我们确定叶子结点的树的时候,我们可以对应的进行编程。


发表于 2017-07-24 14:58:43 回复(0)
1、设初始节点(叶子节点)个数为N,N即为最终的不同点码字个数。2、哈夫曼树构造完成后,新增节点(双分支节点)个数为N-1。3、所以有N+(N-1)=215,故N=108。

编辑于 2017-06-06 09:41:25 回复(0)
叶子结点n0个数对应不同的编码,此题求哈夫曼树的叶子结点数量
发表于 2017-05-16 08:57:30 回复(0)
哈夫曼树的结点要么是叶子结点,要么有两个叶子结点。度为2的结点数比叶子结点数多1
发表于 2016-08-27 09:59:41 回复(0)