哈夫曼树中的“权值”是指啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈夫曼树中的“权值”是指啥?相关的知识,希望对你有一定的参考价值。

哈夫曼树是一种带权路径长度最短的二叉树。
也就是所有结点权值和路径长度乘积的总和最小。
那么什么是“权值”呢?
顺便问一下什么是“B树”
数据结构中的“哈夫曼树”有点没搞懂.
晕了~~~~。。。。。。
能不能说得好理解一点。尤其是权值。

权值就是定义的路径上面的值。可以这样理解为结点间的距离。通常指字符对应的二进制编码出现的概率。

 

至于哈夫曼树中的权值可以理解为:权值大表明出现概率大!

 

哈夫曼树(霍夫曼树)又称为最优树。 

1、路径和路径长度

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

2、结点的权及带权路径长度

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

3、树的带权路径长度

树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。

 多叉哈夫曼树

哈夫曼树也可以是k叉的,只是在构造k叉哈夫曼树时需要先进行一些调整。构造哈夫曼树的思想是每次选k个权重最小的元素来合成一个新的元素,该元素权重为k个元素权重之和。但是当k大于2时,按照这个步骤做下去可能到最后剩下的元素少于k个。解决这个问题的办法是假设已经有了一棵哈夫曼树(且为一棵满k叉树),则可以计算出其叶节点数目为(k-1)nk+1,式子中的nk表示子节点数目为k的节点数目。于是对给定的n个权值构造k叉哈夫曼树时,可以先考虑增加一些权值为0的叶子节点,使得叶子节点总数为(k-1)nk+1这种形式,然后再按照哈夫曼树的方法进行构造即可。

参考技术A 权值就是指的一个节点的权重,比如把哈树应用在编码中 权重就可以理解为码出现的概率等等。本回答被提问者采纳 参考技术B A,B,C,A-B=2 B-C=3,,A,C不相连,AB的权值就是2,AC的权值就是5了。
B树删除:http://student.zjzk.cn/course_ware/data_structure/web/flashhtml/bshushanchu.htm

B树生成:http://student.zjzk.cn/course_ware/data_structure/web/flashhtml/bshushengzhang.htm
参考技术C 从根到一点的距离,一般在线边上写着的数。

B树想不起来了。
参考技术D 什么意思

二叉树中的权值是啥?

二叉树中的权值就是对叶子结点赋予的一个有意义的数量值。

一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树。

具有n个节点的完全二叉树的深度为floor(log2n)+1。深度为k的完全二叉树,至少有2k-1个叶子节点,至多有2k-1个节点。

扩展资料:

权值计算机领域的含义:

在计算机数据结构领域,权值是树或者图中两个结点路径上的值,这个值表明一种代价,如从一个结点到达另外一个结点的路径的长度、所花费的时间、付出的费用等。

至于哈夫曼树中的权值可以理解为:权值大表明出现概率大。

一个结点的权值实际上就是这个结点子树在整个树中所占的比例.

abcd四个叶子结点的权值为7,5,2,4, 这个7,5,2,4是根据实际情况得到的,比如说从一段文本中统计出abcd四个字母出现的次数分别为7,5,2,4. 说a结点的权值为7,意思是说a结点在系统中占有7这个份量。实际上也可以化为百分比来表示,但反而麻烦,实际上是一样的。

参考资料来源:百度百科-二叉树



参考技术A 你说的是哈夫曼树吧?树的每个节点数据域data可以放一个特定的数来代表它的值,可以叫做权值。
以下来自百科:
1、路径和路径长度
  在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。
  2、结点的权及带权路径长度
  若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。
  3、树的带权路径长度
  树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL。追问

请问,权值是自己随便赋的值吗?还有权值的特殊含义,是自己自定义的,还是权值本身就具有的呢?谢谢。

追答

是根据实际需要定义的。

本回答被提问者采纳
参考技术B 就是对叶子结点赋予的一个有意义的数量值 参考技术C 简单的来看就是叶子上的数字~

以上是关于哈夫曼树中的“权值”是指啥?的主要内容,如果未能解决你的问题,请参考以下文章

哈夫曼编码的实现

5678: 数据结构实验:哈夫曼树和编码

二叉树中的权值是啥?

二叉树中的权值是啥?

数据结构学习笔记——哈夫曼树

数据结构学习笔记——哈夫曼树