权值为2,3,4,5,6构成的哈夫曼树,带权路径长度为

 我来答
教育小百科达人
2020-10-17 · TA获得超过156万个赞
知道大有可为答主
回答量:8828
采纳率:99%
帮助的人:479万
展开全部

假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为: 

(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);

(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;

(3)从森林中删除选取的两棵树,并将新树加入森林;

(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。



扩展资料:

在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。

若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。

实现哈夫曼编码的方式主要是创建一个二叉树和其节点。这些树的节点可以存储在数组里,数组的大小为符号数的大小n,而节点分别是终端节点(叶节点)与非终端节点(内部节点)。

惬意还完美丶赤子02
2018-09-22 · TA获得超过2979个赞
知道大有可为答主
回答量:6556
采纳率:81%
帮助的人:875万
展开全部
先构造哈夫曼树: 17 / \ 8 9 / \ 3 6 / \ 1 2 所以带权路径长度WPL = (1+2)*3 + 6*2 + 8*1 = 29
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式