正确答案
哈夫曼编码的一般过程如下:
1)把信息源事件按照出现的概率由大到小排成一个序列,即P(1)>P(2)>„P(Sm-1)>P(Sm)。 2)把其中两个最小的概率P(Sm-1)和P(Sm)挑出来,并且将事件“1”赋给其中最小的事件P(Sm),将事件“0”赋给另一个概率较大的事件P(Sm-1)。
3)把两个最小概率相加作为新事件的概率,即P(Sm-1)与P(Sm)的和P(Si),P(Si)是对应于一个信息的概率。P(Si)= P(Sm-1)+P(Sm)
4)将P(Si)与上面未处理的(m-2)个事件的概率重新按由大到小的顺序排列,构成一个新的概率序列。
5)重复上述步骤2)~4),在每次合并信息源事件时,将被合并的信息源事件分别赋予“0”和“1”值,知道所有m各事件的概率全部合并处理为止。
6)寻找从每一个信息源事件到概率总和为“1”处的路径,对每一信息源事件写出“1”、“0”序列(从树根到信息源事件节点),作为码字。