由权值分别为3,8,6,2,5的叶子节点生成一棵哈夫曼树,它的带权路径长度为 A. 24 B. 48 C. 72 D. 53
D
哈夫曼树:带权路径长度为 2*3 + 3*3 +5*2 +6*2 +8*2 = 53
如果是树的带权路径长度,就是树中所有叶子结点的带权路径长度之和。比如像赫夫曼树又称最优树,是一类带权路径长度最短的树。
假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:
(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);
(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和。
扩展资料:
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。
树的路径长度是从树根到每一结点的路径长度之和。
记WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。可以证明哈夫曼树的WPL是最小的。
参考资料来源:百度百科-哈夫曼树
由权值分别为3,8,6,2,5的叶子节点生成一棵哈夫曼树,它的带权路径长度为53。
哈夫曼树满足对于n个带权节点,总可以用他们作为叶节点构造出一颗最小WPL值。树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln)。因为权值分别为3,8,6,2,5,所以WPL=2*3+3*3+5*2+6*2+8*2=53。
扩展资料:
哈夫曼树的第i层上至多有2i-1(i≥1)个节点。深度为h的哈夫曼树中至多含有2h-1个节点。若在任意一棵哈夫曼树中,有n0个叶子节点,有n2个度为2的节点,则必有n0=n2+1。具有n个节点的完全哈夫曼树深为log2x+1(其中x表示不大于n的最大整数)。
若对一棵有n个节点的完全哈夫曼树进行顺序编号(1≤i≤n),那么,对于编号为i(i≥1)的节点:当i=1时,该节点为根,它无双亲节点。当i>1时,该节点的双亲节点的编号为i/2。若2i≤n,则有编号为2的左叶子,否则没有左叶子。若2+1≤n,则有编号为2i+1的右叶子,否则没有右叶子。