若以数据集{34, 5, 12, 23, 8, 18}为叶结点的权值构造一棵哈夫曼(Huffman)树,那么该 Huffman 树的带权路径长度 WPL=( ) 。

若以数据集{34, 5, 12, 23, 8, 18}为叶结点的权值构造一棵哈夫曼(Huffman)树,那么该 Huffman 树的带权路径长度 WPL=( ) 。


【正确答案】:238
【题目解析】:

哈夫曼树的构造过程:
(1)由给定的值{34, 5, 12, 23, 8, 18}构造森林F= {34, 5, 12, 23, 8, 18},其中每个树为一棵只有根结点且其权为给定值的二叉树。 

(2)从F中选取根结点的权最小的两棵二叉树5和8,构造一棵分别以5和8为左、右子树的新的二叉树,且置该二叉树的根结点的权5+8=13。
(3)从F中删去5、8,并将13加入F。此时F= {34, 13, 12, 23, 18}。此时F中仍多于一棵二叉树,则返回(2)。F的变化过程为{34,25, 23, 18},{34,25,41},{59,41},{100}。直到F中只含一棵二叉树为止,这棵二叉树就是哈夫曼树。


哈夫曼树是平均比较次数WPL最小的树,

故WPL=5*4+8*4+12*3+34*2+23*2+18*2=238。


Top