当前位置:首页 > 智能硬件 > 人工智能AI
[导读]   哈夫曼树的带权路径长度是什么?   1.树的路径长度   树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。   

  哈夫曼树的带权路径长度是什么?

  1.树的路径长度

  树的路径长度是从树根到树中每一结点的路径长度之和。在结点数目相同的二叉树中,完全二叉树的路径长度最短。

  2.树的带权路径长度(Weighted Path Length of Tree,简记为WPL)

  结点的权:在一些应用中,赋予树中结点的一个有某种意义的实数。

  结点的带权路径长度:结点到树根之间的路径长度与该结点上权的乘积。

  树的带权路径长度(Weighted Path Length of Tree):定义为树中所有叶结点的带权路径长度之和,通常记为:

  其中:

  n表示叶子结点的数目

  wi和li分别表示叶结点ki的权值和根到结点ki之间的路径长度。

  树的带权路径长度亦称为树的代价。

  3.最优二叉树或哈夫曼树

  在权为wl,w2,…,wn的n个叶子所构成的所有二叉树中,带权路径长度最小(即代价最小)的二叉树称为最优二叉树或哈夫曼树。

  【例】给定4个叶子结点a,b,c和d,分别带权7,5,2和4.构造如下图所示的三棵二叉树(还有许多棵),它们的带权路径长度分别为:

  (a)WPL=7*2+5*2+2*2+4*2=36

  (b)WPL=7*3+5*3+2*1+4*2=46

  (c)WPL=7*1+5*2+2*3+4*3=35

  其中(c)树的WPL最小,可以验证,它就是哈夫曼树。

  注意:

  ① 叶子上的权值均相同时,完全二叉树一定是最优二叉树,否则完全二叉树不一定是最优二叉树。

  ② 最优二叉树中,权越大的叶子离根越近。

  ③ 最优二叉树的形态不唯一,WPL最小

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

  【问题描述】

  已知输入两行正整数,第二行正整数之间用空格键分开,请建立一个哈夫曼树,以输入的数字为叶节点,求这棵哈夫曼树的带权路径长度。

  【输入形式】

  首先第一行为输入正整数的个数,然后接下来的一行正整数,代表叶结点,正整数个数不超过1000个

  【输出形式】

  输出相应的权值

  【样例输入】

  5

  4 5 6 7 8

  【样例输出】

  69

  关于哈夫曼树——

  1、 路径长度

  从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。

  

  1、 树的路径长度

  路径长度就是从树根到每一结点的路径长度之和。

  

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

  哈夫曼树的介绍   Huffman Tree,中文名是哈夫曼树或霍夫曼树,它是最优二叉树。   定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若树的带权路径长度达到最小

关键字: 哈夫曼树 哈夫曼算法

  哈夫曼树中的名词意思   树的权值:每个树节点所在的那个数字。   路径:两个节点之间所经过的分支。   路径长度: 某一路径上的分支条数。   节点带权路径

关键字: 哈夫曼树

此动画内容为本文目录,时常一分钟,觉得太花时间可以跳过。本来一个思维导图可以搞定。但这一次尝试下这种方式,先放松放松。 一、 二叉树 二叉树是每个节点最多有两个子树的树结构。它有五种基本形态:二叉树可以是空集;根可以有空...

关键字: 节点 哈夫曼树 PS CE

哈夫曼树(Huffman)又称为最优二叉树,是指对于一组带有确定权值的叶子结点所构造的具有带权路径长度最短的二叉树。 那么,这种数据结构究竟有什么用呢?我们今天就来揭晓答案。 计算机系统是如何存储信息的呢? 计算机不是人...

关键字: 编码 HUFFMAN 哈夫曼树 QUEUE
关闭