前言
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。
提示:以下是本篇文章正文内容,下面案例可供参考
一、哈夫曼树是什么?
设二叉树具有n个带权值的叶节点,那么从根节点到叶结点的路径长度与相应节点权值的乘积的和,叫做二叉树的
二、哈夫曼树的构建
1.WPL的计算:
代码如下(示例):
2.哈夫曼树
相同的叶节点可以构造出不同的二叉树
2.构造哈夫曼树的原则
(1).权值越大的根节点越靠近根节点。
(2).权值越小的根节点越远离根节点。
3.构建哈夫曼树的过程
该处使用的url网络请求的数据。
2.哈夫曼编码
哈夫曼编码特点:权值越大的字符编码越短,反之越长。
总结
在一组字符的哈夫曼编码中,不可能出现一个字符的哈夫曼编码是另一个字符哈夫曼编码的前缀。
例如:
100,001,0,1
就不是哈夫曼编码。