哈夫曼树与哈夫曼编码

本文介绍了哈夫曼树的概念,强调其作为带权路径长度最短的二叉树特性。通过详细步骤展示了如何构造哈夫曼树,并通过一个实例解释了哈夫曼编码的生成过程,阐述其在数据传输优化中的作用,揭示了其能有效压缩数据,降低传输成本的优势。
摘要由CSDN通过智能技术生成

哈夫曼树

给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

树节点间的边相关的数叫做权。从树中的一个节点到另一个节点之间的分支构成两个点之间的路径,路径上的分支数目称作路径长度。

例如,如下图:

从根结点100到C3的路径长度为4,也就是图中的根结点100到达C3的路径长度为4。

树的路径长度就是从树根到每一个节点的路径长度之和。二叉树的路径长度就为1+1+2+2+2+2+3+3+3+3+4+4+4+4=38。如果考虑带权的节点,节点的带权的路径长度就是从该节点到树根之间的路径长度乘该节点的权。数的带权路径长度就是所有叶子节点的带权路径长度之和。带权路径长度(WPL)最小的二叉树称作哈夫曼树。

如何构造哈夫曼树

下面我们以【3、4、5、6、10、25、36、11】为例来画出哈夫曼树(数字大小代表权重大小,越大的权重越大&#x

评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李金轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值