{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个字符得到的哈夫曼树来进行的,编码和解码使用相同的初始哈夫曼树,每处理完一个字符,编码和解码使用相同的方法修改哈夫曼树;
所以没有必要为解码而保存哈夫曼树的信息。编码和解码一个字符所需的时间与该字符的编码长度成正比,所以动态哈夫曼编码可实时进行。
参考资料来源:百度百科-哈夫曼树
2024-04-11 广告
{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步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。
所以WPL = (6+7+8)*2 + (4+ 5)*3= 69
广告 您可能关注的内容 |