C语言数据结构——哈夫曼树

哈夫曼树,又称最优二叉树,是带权路径长度最小的二叉树,广泛应用于信息传输和数据压缩。它通过权值大小决定结点离根的距离,具有权值越大,离根越近的特征。构建哈夫曼树的过程包括多次合并最小权值节点,最终形成2N-1个结点的树形结构,常使用静态链表存储,包括双亲和孩子信息。
摘要由CSDN通过智能技术生成

哈夫曼树
又称最优二叉树它是树的带权路径长度 值最小的一棵二叉树,可用于构造最优编码,在信息传输、数据压缩等方面有着广泛的应用。
哈夫曼树的相关概念
路径:
树中一个结点到另一个结点之间的分支序列
路径长度:
路径上分支的条数。
结点的权:
给结点赋予的数值。
带权路径长度:
结点的权值与该结点到树根间路径长度的乘积。
树的带权路径长度:
在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
从上面这三棵树中可以看出,他们有着共同的5个叶子,权值也都相同,但其WPL却不同,原因就是三棵树的结构不同。所以:对于权值相同的n个叶子所构造的二叉树结构不同,WPL值也不同。这就引出了最优二叉树的概念:
在叶子个数n以及各叶子权值Wi确定的条件下,树的带权路径长度WOL值最小的二叉树称为最优二叉树。
从上面三个数观察可以看出:
哈夫曼

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值