一个关于数据结构的问题,有关哈夫曼编码的,解答看不懂,求解答,谢谢!
发布网友
发布时间:2022-04-23 04:24
我来回答
共1个回答
热心网友
时间:2022-07-15 02:09
根据题意哈夫曼树的形状类似如下
o
/ \
o Y
/ \
o Y
/ \
o o
/ \ / \
A B C D
或者
o
/ \
o Y
/ \
o Y
/ \
o C
/ \
A B
第1点,编码长度不超过4,每一个“/”边表示为0 ,“\”边表示为1,如上图A的编码是:0000,B是0001,如果深度超过5,有六层的话,最下面的叶子结点编码有5位,所以编码长度不超过4,说明哈夫曼树深度不超过5
第2点,编码1 和 01 是在深度为2、3层,如上面的图Y。
第3点,其他字符有可能是00或者 0000 0001 0010 0011或者 001 0000 0001 在第三层 第四层 第五层,这里说只能在第四层和第五层,不严谨。有可能只有是三个字符的时候,只有三层了。
还可以多少个字符编码:1个或者3个或者4个。