有人听说过哈夫曼三进制编码吗?

发布网友 发布时间:2022-04-23 22:28

我来回答

2个回答

热心网友 时间:2023-10-12 04:06

我最近在学信息论,不知道楼主是否在问哈夫曼3进制编码流程,我目前的理解是这样的:

设信源有Q个符号,m为m进制,这里是三进制的话就取3,还有一个变量k(后面再解释这个变量的意义)

1、对信源符号按概率大小进行排序

2、计算X = m + k(m-1) = 3 + k(3 - 1) = 3 + 2 k   (3进制的情况)

(这一步的目的是:计算如果每一步都是3个数进行编码,所需要的符号数目)

3、取一个使X>=Q的k,k可以取无数多个,但是我们取其中的最小值。

4、s = X - Q

(这一步的目的是:计算我们目前拥有的符号数目与每一步都用3个符号进行编码时所需要的符号数目相差多少个)

5、则m-s的数值就是m进制哈夫曼编码第一部所需要取的符号个数。

(既然我们与理想状况相差s个,那我们第一步就用m-s个进行编码吧)

k其实就是信源缩减的次数。

说的有点绕,理一理思路我再回来更口语化地修改答案。

例题:

信源有8个信源符号,所以X = 3 + 2 * 3 = 9 > 8

理想情况下是9个,但是我们只有8个符号,设差距设为s

则 s = 9 - 8 = 1

因此第一步取:m-s = 3 - 1 = 2个符号来编码。

热心网友 时间:2023-10-12 04:07

听说过,学计算机或者数学的应该有所接触才对。其实跟2进制或者10进制一样,逢3进位就可以了。不用觉得不可思意,其实都是思维习惯的问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com