《数据结构》-哈夫曼树的基本概念(一)

哈夫曼树的基本概念
哈夫曼树的构造算法
哈夫曼树的构造示例
哈夫曼编码的基本概念
哈夫曼编码的程序实现

哈夫曼树的基本概念

路径

从树中一个结点到另一个结点之间的分支构成这两个结点间的路径

结点的路径长度

两结点间路径上的分支数

结点的路径长度示例

示例1
在这里插入图片描述
从 A 到 B C D E F G H I 的路径长度分别为:1 1 2 2 3 3 4 4

示例2
在这里插入图片描述
从 A 结点到 B C D E F G H I 的路径长度分别为:1 1 2 2 2 2 3 3

树的路径长度

从树的根节点到每一个结点的路径长度之和。记作:TL

同样是上面的两颗树

在这里插入图片描述
TL(a) = 0 + 1 + 1 + 2 + 2 + 3 + 3 + 4 + 4 = 20
TL(b) = 0 + 1 + 1 + 2 + 2 + 2 + 2 + 3 + 3 = 16

结点数目相同的二叉树中,完全二叉树是路径长度最短的二叉树(但是路径长度最短的不一定是完全二叉树)

权(weight)

将树中结点赋给一个有着某种意义的数值,则这个数值称为该结点的权

结点的带权路径长度

节点到该结点之间的路径长度与该结点的乘积

树的带权路径长度

树中所有叶子结点的带权路径长度之和

记作:WPL(weight path length)

示例

有四个结点 a b c d 权值分别为 7 5 2 4
构造以此 4 个结点为叶子结点的二叉树

在这里插入图片描述

在这里插入图片描述

带权路径长度是

WPL(a) = 7x2 + 5x2 + 2x2 + 4x2 = 36
WPL(b) = 7x3 + 5x3 + 4x2 + 2x1 = 46

哈夫曼树

也即最优树,带权路径长度(WPL)最短的树

另:带权路径长度最短是在度相同的树中比较而得得结果因此有最优二叉树,最优三叉树之称等等。

哈夫曼树:最优二叉树,带权路径长度(WPL)最短的二叉树

满二叉树不一定是哈夫曼树

哈夫曼树中权越大的叶子离根越近

具有相同带权结点的哈夫曼树不唯一

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值