计算哈夫曼树带权路径及求字母序列的哈弗曼编码

本文通过实例介绍了哈夫曼树的概念,包括叶子节点的权值、带权路径长度以及哈夫曼算法的基本思想。通过示例展示了哈夫曼树的构造过程,并探讨了如何利用哈夫曼树进行字符编码,强调了编码长度对存储和传输效率的影响。在软考题中,哈弗曼编码是一种常见的考察点。
摘要由CSDN通过智能技术生成

在准备软考的过程中遇到哈夫曼树题型,有些遗忘,顺便用这些例题恢复一下记忆。
1、哈夫曼树也称最优二叉树,在实际中有着广泛的应用。
叶子节点的权值
叶子结点的权值是对叶子结点赋予的一个有意义的数值量。
二叉树的带权路径长度
设二叉树具有N个带权值的叶子结点,从根结点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和叫做二叉树的带权路径长度:WPL=w1l1+w2l2+…+wklk
其中wk为第K个叶子结点的权值;lk为从根节点到第k个叶子结点的路径长度。
如下图的二叉树,其带权路径长度为:WPL:2×2+4×2+5×2+3×2=28
在这里插入图片描述

再举个栗子:
在这里插入图片描述
该哈夫曼树的带权路径长度为:
WPL=2×2+5×2+3×2+4×3+5×3=37
哈夫曼算法的基本思想:
1.初始化: 根据给定的n个权值{w1,w2,…wn}构成n棵二叉树的集合F={T1,T2,…,Tn},其中每棵二

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值