多语言展示
当前在线:429今日阅读:126今日分享:42

快速画出哈夫曼树/霍夫曼树/最优树

哈夫曼树(霍夫曼树)又称为最优二叉树. 一般用来减少程序整体运行时间,将权重大的放在前面。下面我们以【5、8、4、11、9、13】为例来画出哈夫曼树(数字大小代码权重大小,越大的权重越大)
方法/步骤
1

第一步:按从小到大排序。【5、8、4、11、9、13】→【4、5、8、9、11、13】

2

第二步:选最小两个数画出一个树,最小数为4和5。给定的4、5、8、9、11、13为白色, 红色的9为4+5,与给定的白9无关,新序列为:【红9(含子节点4、5)、8、9、11、13】

3

之后一直重复第一、第二步:排序然后取两个最小值。实际就是一个递归过程   排序:

4

取两个最小数8和9:

6

取两个最小数9和11:

7

排序,然后取两个最小数13和17:

8

取两个最小数20和30:

推荐信息