哈夫曼树

哈夫曼树

树的路径长度

结点的路径长度:从根结点到该结点的路径上所包括的边的数目

树的内路径长度

除叶结点外,从根到树中其他所有结点的路径长度之和

inside_line

树的内路径长度=1+1+2+2+3=9

树的外路径长度

从根结点到树中所有叶子结点的路径长度之和

out_line

外路径长度=1+2+3+4+4=14

扩充二叉树-补

内路径长度:I
外路径长度:E
非叶节点个数:n
$$
E=I+2n
$$

叶结点的加权路径长度:设叶结点带权——>路径长度×权值
树的加权路径长度(WPL):所有叶结点的加权路径长度

怎么使加权路径长度变大:让权值大的结点远离根结点

哈夫曼算法和哈夫曼树

哈夫曼算法:求具有最小加权路径长度二叉树的算法

哈夫曼树:用哈夫曼算法构造生成的二叉树

  • 扩充二叉树
  • 任一非叶结点的权值等于其左右孩子的权值之和
  • 叶结点相同,哈夫曼树的加权路径长度最小

注:一般树根权值较小的为左子树

哈夫曼编码

压缩编码的原则

  • 无二义性——编码,解码均具有唯一性
  • 压缩率 与 编/解码效率 的平衡

等长编码和不等长编码

等长编码:元素对应的编码长度相等
不等长编码:元素对应的编码长度不一定相等

huffman


哈夫曼树
http://example.com/2024/11/06/哈夫曼树/
作者
Tsglz
发布于
2024年11月6日
许可协议