电文{A,B,C,D,E,F},出栈概率是0.19,0.0.,0.15,0.22,0.1,0.3造哈夫曼树,给出每个哈夫

1个回答

  • 题目中第二个数字为0.0. 应该是输错了,先舍去,只说一下该题目的答题方法,首先从上述概率序列中选取两个最小的值,组成树,树的根权值是该两个序列的和,如上述选取

    0.1 0.15,组成树

    0.25

    /

    0.1 0.15

    然后将0.34放回到序列中,该序列就是0.19 0.22 0.25 0.3

    然后重新选取两个最小的点组成树

    0.41

    /

    0.19 0.22

    循环上述方法,直到只有一个结点为值,这样这颗树也就构造完了.

    编码就是左子树默认为0 右子树默认为1

    如哈夫曼树:

    54

    /

    22 32

    / /

    c10 12 b14 e18

    /

    d4 a8

    其哈夫曼编码:

    a:011 b:10 c:00 d:010 e:11.

    平均码长,上面是a 是 3位,乘上相关概率得到一个值,所有编码都这样算,然后全部相加之后除以总概率,就是平均码长.