哈夫曼树与带权路径长度

问题:

权值分别为从19,21,2,3,6,7,10,32的结点,构造一棵哈夫曼树,该树的带权路径长度是?

 

构建哈夫曼树:

1.从19,21,2,3,6,7,10,32之中选取连个最小的2,3。

哈夫曼树与带权路径长度_第1张图片

2.从19,21,5,6,7,10,32之中选取连个最小的5、6。

哈夫曼树与带权路径长度_第2张图片

3.从19,21,11,7,10,32之中选取连个最小的7、10。

哈夫曼树与带权路径长度_第3张图片

4.从19,21,1117,32之中选取连个最小的11、17。

哈夫曼树与带权路径长度_第4张图片

5.从19,21,28,32之中选取连个最小的19、21。

哈夫曼树与带权路径长度_第5张图片

6.从40,28,32之中选取连个最小的28、32。

哈夫曼树与带权路径长度_第6张图片

7.最后,哈夫曼树建成。

哈夫曼树与带权路径长度_第7张图片

 

8.计算带权路径长度:

结点的带权路径长度=从根结点到该结点之间的路径长度 该结点的权

 \large =5*(2+3)+4*(6+7+10)+3*(0)+2(19+21+32) =261

 

结束。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(数据结构与算法)