哈夫曼树知识点

哈夫曼树,又称最优二叉树。

概念:

1.树的带权路径:所有叶子节点到根节点的路径加权和。

2.哈夫曼树:带权路径长度最短的二叉树。

特点:

1.每个节点的度只能为2或者0;

2.叶子结点数是N时,中间节点数为N-1,总结点树为2*N-1

3.哈夫曼编码:任意一个叶节点的编码都不是其他叶节点编码的前缀。

问题1:

1.为什么带权路径最短?

前提:带全路径所求的是叶子到根节点的长度,每个节点的度只能为0或者2

因为哈夫曼树的创建步骤是:每次取出节点中权最小的两个节点构树。得到的结果是,权数越小的节点,路径越长;权数越大的节点,路径越短。一颗树上的节点为N时,所有节点的连线共有N-1条,只要保证小权节点所占路径越大,大权路径越小,得到的带权路径长度才能越小。


2.哈夫曼编码为啥任意一个编码都不是其他编码的前缀?

因为这里所说的编码都是对叶子结点的编码。每个叶子节点的度都是0,是终结节点,没有其他节点经过。所以通过哈夫曼编码得到的结果不会存在歧义。所以在解码的时候,可以顺序读取编码,依次找编码对应得值,而不会出现走不通或者歧义的情况。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值