{4,5,6,7,8}作为权值构造Huffman树,带权路径长度?

如题所述

先是4和5合并为9,再就是6和7合并为13,接着是8和9合并为17,最后是13和17合并为30,所以WPL = (6+7+8)*2 + (4+ 5)*3= 69。

例如:

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

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

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

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

扩展资料:

哈夫曼动态编码:动态哈夫曼编码使用一棵动态变化的哈夫曼树,对第t+1个字符的编码是根据原始数据中前t个字符得到的哈夫曼树来进行的,编码和解码使用相同的初始哈夫曼树,每处理完一个字符,编码和解码使用相同的方法修改哈夫曼树;

所以没有必要为解码而保存哈夫曼树的信息。编码和解码一个字符所需的时间与该字符的编码长度成正比,所以动态哈夫曼编码可实时进行。

参考资料来源:百度百科-哈夫曼树

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-20

{4,5,6,7,8}作为权值构造Huffman树,带权路径长度为69。

哈夫曼树的带权路径长度,是树中所有的叶结点的权值乘上其到根结点的路径长度之和,记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln)。因为Huffman树的权值为{4,5,6,7,8},所以WPL=(4+5)*3+(8+7+6)*2=69。

扩展资料:

哈夫曼树的构造规则为:

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

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

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

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

本回答被网友采纳
第2个回答  2013-10-20
先是4和5合并为9,再就是6和7合并为13,接着是8和9合并为17,最后是13和17合并为30
所以WPL = (6+7+8)*2 + (4+ 5)*3= 69
相似回答