1、概述
霍夫曼编码是一种基于最小冗余编码的压缩算法。最小冗余编码是指,如果知道一组数据中符号出现的频率,就可以用一种特殊的方式来表示符号从而减少数据需要的存储空间。
2、定义
霍夫曼树:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。结合第2节中的字符串,将字符串出现频率作为权值。
3.构造流程
(1)选取权值最小和次小的节点作为左右子树,构造一棵二叉树。
(2)将步骤1构造的二叉树的根节点的权值设置为,左右子树之和。
(3)去除步骤1中已经选过的节点,将新的二叉树的根节点加入至待选集合
(4)继续重复步骤1,直至仅剩一个元素未选中。
数据结构之树(五)霍夫曼编码树
最新推荐文章于 2021-03-05 15:45:56 发布