哈夫曼树
一、带权路径长度
1.结点的权
:有某种现实含义的数值(如:表示结点的重要性)
2.结点的带权路径长度
:从树的根到该结点的路径长度(经过的边数)与该结点上权值的乘积
3.树的带权路径长度
(重点):树中所有叶节点
的带权路径长度之和(WPL,Weighted Path Length)
WPL=∑WiLi
二、哈夫曼树的定义
在含有n个带权叶结点
的二叉树中,其中带权路径长度(WPL)最小的二叉树
称为哈夫曼树
,也称最优二叉树
三、哈夫曼树的构造(重点)
1.每个初始结点最终都成为叶结点,且权值越小的结点到根结点的路径长度越大
2.n个结点总共要结合n-1次
3.哈夫曼树的结点总数为2n-1
4.哈夫曼树中不存在度为1的结点
5.哈夫曼树并不唯一,但WPL必然相同且为最优
四、哈夫曼编码(重点)
1.固定长度编码:每个字符用相同长度的二进制位表示
2.可变长度编码
:允许对不同字符用不等长的二进制位表示
3.前缀编码
:若没有一个编码是另一个编码的前缀,则称这样的编码为前缀编码
4.由哈夫曼树得到哈夫曼编码
:字符集
中的每个字符
作为一个叶子结点
,各个字符出现的频度
作为结点的权值
,根据之前介绍的方法构造哈夫曼树
5.哈夫曼树不唯一,因此哈夫曼编码不唯一
6.哈夫曼编码可以用于数据的压缩