赫夫曼编码长度计算问题?

    xiaoxiao2021-12-14  24

    例题:一组字符(a,b,c,d)在文中出现的次数分别为(7,6,3,5),字符'd'的哈夫曼编码的长度为?

    题解:

    首先构造huffman树 每一步都将所有数字排序 方法如下: 1: 3 5 6 7 2: 6 7 8 / \ 3 5 3: 8 13 / \ / \ 3 5 6 7 4: 21 / \ 8 13 / \ / \ 3 5 6 7 所以构造哈夫曼树如图 7 6 3 5 分别对应a b c d 如果左边为0 ,右边为 1 ,则他们编码分别为: a 11 b 10 c 00 d 01 长度为2

    例题2:

    这样编码出来为  A: 0 1bit  B: 10 2bit  C: 110 3bit  D: 111 3bit  所以中的编码位数就是出现次数×编码bit  1×4+2×3+3×2+3×1=19  这个就是带权路径长度,因为出现的次数就是权重,编码长度就是节点到根节点的层数, 

    转载请注明原文地址: https://ju.6miu.com/read-971958.html

    最新回复(0)