哈夫曼树与带权路径长度计算
假设我们一个权重为1,7,3,13,12,15,24怎么样画出哈夫曼树和计算带权路径长度。
首先,选出最小的两个权重值,这里是1,3(矩形表示叶子节点,圆表示根节点也是两个叶子节点的和)如图:
然后,选出第三小的7,算出父节点,如图:
依次类推:
当11,12的父节点为23大于后面的13 ,重新画一个分支,如图:
这样一棵哈夫曼树就构建好了。
计算带权路径计算:
其实计算叶子节点的到根节点的距离乘以叶子节点自身的值,然后相加:
例如1这个叶子节点,1*5=5,3节点,3*5=15
1*5 + 3*5 + 7*4 + 12*3 + 30*2 + 13*2 + 14*2 = 188