哈夫曼编码是一种变长编码方式,其优点和缺点如下:
优点:
1、哈夫曼编码保证概率大的符号对应于短码,概率小的符号对应于长码而且所有的短码得到充分利用。每次缩减信源的最后两个码字总是最后一位不同,前面各位相同,这两个特点保证了哈夫曼编码一定是最佳的。虽然哈夫曼编码构造出来的码不唯一,但是其平均码长是相等的,所以不影响编码效率和数据压缩性能。
2、对信源的统计特性没有特殊要求,编码效率较高,对编码的环境要求比较简单,性能上优于香农编码和费诺编码。
缺点:
1、如果对单个字母进行编码,平均码字长可能还与理论上的最优编码率还有一定差距。哈夫曼编码算法是从上而下构造树。当信源符号集很大时,这种方法不方便。从硬件实现上来看,它有变长码固有的缺点:需要有缓冲存储器;从信道传输上来看,对应的长码一旦产生误码,某个码字的前缀部分可能成为另一个码字而发生误差,并导致错误后传。
2、不同的编法得到的码字长度K_i也不尽相同。
哈夫曼编码的整体流程如下:
1、统计字符集中每个字符在电文中出现的平均概率。
2、利用哈夫曼树的特点:权越大的叶子离根越近;将每个字符的概率值作为权值,构造哈夫曼树。
3、在哈夫曼树的每个分支上标上0或1:结点的左分支标0,右分支标1把从根到每个叶子的路径上的标号连接起来,作为该叶子代表的字符的编码。
4、从某叶子节点开始,不断寻找其父节点,直到寻找到根节点,并对此路径上每个分支进行编码,左孩子为0,右孩子为1。
以上是关于哈夫曼编码的优缺点和整体流程的介绍。
标签: #科技知识
郑重声明:图文由自媒体作者发布,我们尊重原作版权,但因数量庞大无法逐一核实,图片与文字所有方如有疑问可与我们联系,核实后我们将予以删除。