当前位置:首页>科技>哈夫曼树编码与二进制编码优缺点数据结构五
发布时间:2026-07-21阅读(1)
在数据膨胀、信息爆炸的今天,数据压缩的意义不言而喻。谈到数据压缩,就不能不提赫夫曼(Huffman)编码,赫夫曼编码是首个实用的压缩编码方案,即使在今天的许多知名压缩算法里,依然可以见到赫夫曼编码的影子。
另外,在数据通信中,用二进制给每个字符进行编码时不得不面对的一个问题是如何使电文总长最短且不产生二义性。根据字符出现频率,利用赫夫曼编码可以构造出一种不等长的二进制,使编码后的电文长度最短,且保证不产生二义性。
以下程序在效率上有什么问题呢?

程序流程图.png
如果我们把判断流程改为以下,效果可能有明显的改善:对于判断良好效率更高了。

改进版流程图.png
赫夫曼树定义与原理
把这两棵二叉树简化成叶子结点带权的二叉树(注:树结点间的连线相关的数叫做权,Weight)。
如图:A表示不及格,B表示及格,C表示良好,D表示优秀5%同学不及格,15%同学及格,70%同学良好,10%同学优秀

带权二叉树.png
WPL的值越小,说明构造出来的二叉树性能越优。
构造出最优的赫夫曼树,如图:

构造赫夫曼树过程.png
二、赫夫曼编码当年赫夫曼的草图:

赫夫曼编码.png
赫夫曼编码可以很有效地压缩数据(通常可以节省20%~90%的空间,具体压缩率依赖于数据的特性)。
名词解释:定长编码,变长编码,前缀码
步骤:
作者:JS_HCX链接:https://www.jianshu.com/p/32307411cff0来源:简书
上一篇:2018年韩国基础化妆品的排行榜
下一篇:如何注册qq号 怎样注册qq号
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图