哈夫曼树的带权路径长度怎么求

作者&投稿:高沸 (若有异议请与网页底部的电邮联系)
~

哈夫曼树的带权路径长度算法如下:

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

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

3.从森林中删除选取的两棵树,并将新树加入森林。

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

哈夫曼树:

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

在计算机数据处理中,哈夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码。

反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

以上内容参考:百度百科-哈夫曼树




构造哈夫曼树,并计算树的带权的路径长度
\/ \\ \/ \\ 25 27 29 39 \/ \\ \/ \\ 12 15 19 20 \/ \\ \/ \\ 5 7 9 10 树的带权路径长度:4*(5+7 + 9 + 10) + 3*(15+20) +2*(25+29)=337

用权值2, 3, 7, 8构造一棵哈夫曼树,并求其带权路径长度
哈夫曼树:20 \/ \\ 8 12 \/ \\ 5 7 \/ \\ 2 3 树带权路径长度是: 2 * 3 + 3*3 + 7*2 + 8*1 = 37

...5,7的4个叶节点构造一棵哈夫曼树,该树的带权路径长度为()?_百度知...
简单的认为就是叶子节点的值。之所以叫权是因为它将用来构造树。构造方法太长,你还是参考baidu知道吧.哈夫曼树 http:\/\/baike.baidu.com\/view\/127820.html?tp=0_11 树:25 14 9 7 7 5 2 带权路径长度=5*3+2*3+7*2+9*1=44 ...

哈夫曼树根结点的权值与带权路径长度一样吗
不一样。有一道题目:一棵哈夫曼树的带权路径长度等于其中所有分支结点的权值之和(X)其中“哈夫曼树根结点的权值”就是指“其中所有分支结点的权值之和”应该说:树中所有的叶结点的权值乘上其到根结点的路径长度。不是分支节点权值的和。望采纳!!!

哈夫曼树的定义是:带权路径长度最小的二叉树。 我先请问:为何它是带全...
只有带权路径长度最小的二叉树,才是哈夫曼树。当然是可以证明带权路径长度最小。树的路径长度是从树根到树中每一结点的路径长度之和,在结点数目相同的二叉树中,完全二叉树的路径长度最短。结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。结点的带权路径长度:结点到树根之间的路径...

权值为{1,2,6,8}的四个结点构成的哈夫曼树的带权路径长度是(D )。 A...
结果是D,构建哈夫曼树的过程,大小排序,1、2、6、8,1和2按大小,为左右子,父节点为3,6大于3,所以6作为右子,3和6的父节点为9,因为8小于9,故8为左子,8和9的父节点为17.然后计算根节点到每个叶子节点的带权路径长度。画好树,即为1*8+2*6+3*1+3*2=29....

哈夫曼树的定义是什么?
哈夫曼树是给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。例子:1、将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);2、...

树有带权路径长度吗?
2、结点的权及带权路径长度 若将树中结点赋给一个有着某种含义的数值问,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。3、树答的带权路径长度 树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。

有一组权值(7.5.2.4)对应的哈夫曼树的带权路径长度是多少?
(2+4)*3+5*2+7*1=35

带权9.1.3.5.6的五个叶子生成的哈夫曼树,带权路径长度怎么算_百度知 ...
节点9的带权路径长度是9*2根节点N24到节点6的路径长度是2,节点6的带权路径长度是6*2如此类推,可以得出其它节点的带权路径长度.所以,哈夫曼树的带权路径长度WPL等于9*2 + 6*2 + 5*2 + 3*3 + 1*3 = 52哈夫曼编码:规定哈夫曼树的左分支代表0,右分支代表1.从根节点N24到节点9,先后经历...

平武县17580012067: 已知带权的叶子结点构成一颗哈夫曼树,则带权路径长度怎么求 -
不洁复方: 先构造好Huffman树,然后根据将所有叶子结点的权值乘以该结点到根的路径长度求和就是带权路径长度了

平武县17580012067: 数据结构,构造哈夫曼树,求树的带权路径长度用6个权值分别为6、13、18、30、7和16的结点构造一棵哈夫曼(Huffman)树,该树的带权路径长度为答... -
不洁复方:[答案] =6*4+7*4+13*3+30*2+16*2+18*2=219吧,根结点的值不对哦

平武县17580012067: 求带权路径长度 -
不洁复方: 1. 先建立哈夫曼树 (33) (10) (23) (5) 5 9 14 2 3 2. 带权路劲长度为每一层权值*(层数-1)的总和 (2+3)*3+(5+9+14)*2=71 3. 详细概念和解释可去百科查看

平武县17580012067: 由分别带权为9,2,5,7的4个叶节点构造一棵哈夫曼树,该树的带权路径长度为()?何为“权”?这题如何算?树的构造我会.“带权路径长度”这个指什么? -
不洁复方:[答案] 简单的认为就是叶子节点的值.之所以叫权是因为它将用来构造树. 构造方法太长,你还是参考baidu知道吧.哈夫曼树 树: 25 14 9 7 7 5 2 带权路径长度=5*3+2*3+7*2+9*1=44

平武县17580012067: 带权9.1.3.5.6的五个叶子生成的哈夫曼树,带权路径长度怎么算 -
不洁复方: 五个叶子的权值是 9 1 3 5 6 (1) 将权值从小到大排序后是 1 3 5 6 9 (这是有序序列) (2) 每次提取最小的两个节点,取节点1和节点3,组成新节点N4,其权值=1+3=4,节点1的数值较小,作为左分支,节点3就作为右分支. (3) 将新节点N4...

平武县17580012067: 给定一组权值3.3.7.7.11,13.17试构造一棵哈夫曼树并计算出带权路径长度 -
不洁复方:[答案] 哈夫曼树是: 61 / \ 26 35 / \ / \ 13 13 17 18 / \ / \ 6 7 7 11 / \3 3树带权路径长度 = 3 * 4 + 3 * 4 + 7*3 + 13 * 2 ...

平武县17580012067: 哈夫曼树的带权路径长度是什么? -
不洁复方:[答案] 1.树的路径长度树的路径长度是从树根到树中每一结点的路径长度之和.在结点数目相同的二叉树中,完全二叉树的路径长度最短. 2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL) 结点的权:在一些应用中,赋予树中结点的一个...

平武县17580012067: 数据结构中哈夫曼树的问题用5个权值{3,2,4,5,1}构造的哈夫曼树的带权路径长度是? -
不洁复方:[答案] 哈夫曼树为: 15 / \ 6 9 / \ / \ 3 【3】【4】 【5】 / \ 【1】 【2】 树的带权路径长度为树中所有叶子结点的带权路径长度之和,而结点的带权路径长度为结点到根节点之间的路径长度与该节点上权的乘积. WPL=3*(1+2)+2*3+2*(4+5)=33

平武县17580012067: 设给定一个权值集合W=(9,4,10,6,3,10,8,15,12,16,2,11),构造一个哈夫曼树并计算哈夫曼树的带权路径长度WPL -
不洁复方:[答案] 哈夫曼树如下: 106 / \ 63 43 / \ / \ 29 34 20 23 / \ / \ / \ / \ 14 15 16 18 10 10 11 12 / \ / \ 6 8 9 9 / \ 4 5 / \ 2 3 WPL=361

平武县17580012067: 由权值2,8,6,2的叶子生成一颗哈夫曼树,它的带权路径长度是 -
不洁复方:[答案] 哈夫曼树是: 18 / \ 8 10 / \ 4 6 / \ 2 2 树的带权路径长度:8*1 + 2 * 3 + 2 * 3 + 6 * 2 = 32

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网