转载于:https://blog.csdn.net/qq_28602957/article/details/71036402
如何构造哈夫曼树
下面我们以【5、8、4、11、9、13】为例来画出哈夫曼树(数字大小代表权重大小,越大的权重越大)
第一步:按从小到大排序。
【5、8、4、11、9、13】→【4、5、8、9、11、13】
第二步:选最小两个数画出一个树,最小数为4和5。
给定的4、5、8、9、11、13为白色, 红色的9为4+5,与给定的白9无关,新序列为:【红9(含子节点4、5)、8、9、11、13】
之后一直重复第一、第二步:排序然后取两个最小值。实际就是一个递归过程
排序:
取两个最小数8和9:
排序:
取两个最小数9和11:
排序,然后取两个最小数13和17:
取两个最小数20和30: