各位网友们好,相信很多人对哈夫曼树权值怎么求都不是特别的了解,因此呢,今天就来为大家分享下关于哈夫曼树权值怎么求以及已知权值求哈夫曼树的带权路径长度的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本文目录一览
- 1、哈夫曼树的带权路径长度怎么求
- 2、哈夫曼树权值计算
哈夫曼树的带权路径长度怎么求
哈夫曼树的带权路径长度算法如下:
1.将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点)。
2. 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和。
3. 从森林中删除选取的两棵树,并将新树加入森林。
4. 重复2、3步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。
哈夫曼树:
给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
在计算机数据处理中,哈夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码。
反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。
以上内容参考:百度百科-哈夫曼树
哈夫曼树权值计算
39
15 24
7 (8) (9) (15)
(2) (5)
带权长度:3*2+3*5+2*8+2*9+2*15
平均长度:带权长度/(2+5+8+9+15)
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 449@qq.com 举报,一经查实,本站将立刻删除。本文链接:https://www.hnhgjc.com/n/264347.html