为什么 哈夫曼树的度只能为0或者2 不能为1?

2025-12-17 00:11:46
推荐回答(2个)
回答1:

因为哈夫曼树的定义是构造一棵最短的带权路径树,所以这种树为最优二叉树。最优二叉树的度只有0或者2。

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

扩展资料:

历史

1951年,哈夫曼在麻省理工学院(MIT)攻读博士学位,他和修读信息论课程的同学得选择是完成学期报告还是期末考试。

导师罗伯特·法诺(Robert Fano)出的学期报告题目是:查找最有效的二进制编码。由于无法证明哪个已有编码是最有效的,哈夫曼放弃对已有编码的研究,转向新的探索,最终发现了基于有序频率二叉树编码的想法,并很快证明了这个方法是最有效的。

哈夫曼使用自底向上的方法构建二叉树,避免了次优算法香农-范诺编码(Shannon–Fano coding)的最大弊端──自顶向下构建树。

1952年,于论文《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)中发表了这个编码方法。

参考资料:百度百科-哈夫曼树

回答2:

对啊,楼主说的对。哈夫曼树的度不能为0或2,绝对不可能为1的。这和度的定义及哈夫曼树的定义有关。结点的度是指该结点所具有的非空子树数。一棵树的度是指该树中结点的最大度树。例如:A B C则A结点度为2.而哈夫曼树是最优二叉数,二叉数的度数且每个结点必有二个度除根结点外。楼主把哈夫曼树的定义认真读一下就知道了。