霍夫曼算法求扩充二叉树的带权外部路径长度

问题描述:

霍夫曼算法求扩充二叉树的带权外部路径长度
对于给出的一组权w={10,12,16,21,30},通过霍夫曼算法求出的扩充二叉树的带权外部路径长度是多少?
怎么算,请解释得具体一点.

每行选出最小的两个数相加
10 12 16 21 30
16 21 22 30
22 30 37
37 52
89
将较小的数排在左子树,则其扩充的二叉树即为:
89
/ \
37 52
/ \ / \
16 21 22 30
/ \
10 12
由图可看出所有的权都在最外部,所以扩充二叉树的带权外部路径长度为:
16*2+21*2+30*2+10*3+12*3=200.