哈夫曼树的构造过程

    今天做题的时候,遇到了一个关于哈夫曼树的题,由于一直不是很明白哈夫曼树的构造过程,所以找了很多资料都不是特别清楚的,直到我遇到了这篇文章,哈哈,在此分享给大家哦!



注意:哈夫曼树并不唯一,但带权路径长度一定是相同的。


(1)8个结点的权值大小如下:


(2)从19,21,2,3,6,7,10,32中选择两个权小结点。选中2,3。同时算出这两个结点的和5。


(3)从19,21,6,7,10,32,5中选出两个权小结点。选中5,6。同时计算出它们的和11。


(4)从19,21,7,10,32,11中选出两个权小结点。选中7,10。同时计算出它们的和17。
(BTW:这时选出的两个数字都不是已经构造好的二叉树里面的结点,所以要另外开一棵二叉树;或者说,如果两个数的和正好是下一步的两个最小数的其中的一个,那么这个树直接往上生长就可以了,如果这两个数的和比较大,不是下一步的两个最小数的其中一个,那么就并列生
长。)


(5)从19,21,32,11,17中选出两个权小结点。选中11,17。同时计算出它们的和28。


(6)从19,21,32,28中选出两个权小结点。选中19,21。同时计算出它们的和40。另起一颗二叉树。


(7)从32,28, 40中选出两个权小结点。选中28,32。同时计算出它们的和60。  


(8)从 40, 60中选出两个权小结点。选中40,60。同时计算出它们的和100。 好了,此时哈夫曼树已经构建好了。



    这是原作者的链接哦,我觉得还不错呢,大家可以去看看的!

注意:哈夫曼树并不唯一,但带权路径长度一定是相同的。


(1)8个结点的权值大小如下:


(2)从19,21,2,3,6,7,10,32中选择两个权小结点。选中2,3。同时算出这两个结点的和5。


(3)从19,21,6,7,10,32,5中选出两个权小结点。选中5,6。同时计算出它们的和11。


(4)从19,21,7,10,32,11中选出两个权小结点。选中7,10。同时计算出它们的和17。
(BTW:这时选出的两个数字都不是已经构造好的二叉树里面的结点,所以要另外开一棵二叉树;或者说,如果两个数的和正好是下一步的两个最小数的其中的一个,那么这个树直接往上生长就可以了,如果这两个数的和比较大,不是下一步的两个最小数的其中一个,那么就并列生
长。)


(5)从19,21,32,11,17中选出两个权小结点。选中11,17。同时计算出它们的和28。


(6)从19,21,32,28中选出两个权小结点。选中19,21。同时计算出它们的和40。另起一颗二叉树。


(7)从32,28, 40中选出两个权小结点。选中28,32。同时计算出它们的和60。  


(8)从 40, 60中选出两个权小结点。选中40,60。同时计算出它们的和100。 好了,此时哈夫曼树已经构建好了。

这是原博文的链接哦! 点击打开链接

注意:哈夫曼树并不唯一,但带权路径长度一定是相同的。


(1)8个结点的权值大小如下:


(2)从19,21,2,3,6,7,10,32中选择两个权小结点。选中2,3。同时算出这两个结点的和5。


(3)从19,21,6,7,10,32,5中选出两个权小结点。选中5,6。同时计算出它们的和11。


(4)从19,21,7,10,32,11中选出两个权小结点。选中7,10。同时计算出它们的和17。
(BTW:这时选出的两个数字都不是已经构造好的二叉树里面的结点,所以要另外开一棵二叉树;或者说,如果两个数的和正好是下一步的两个最小数的其中的一个,那么这个树直接往上生长就可以了,如果这两个数的和比较大,不是下一步的两个最小数的其中一个,那么就并列生
长。)


(5)从19,21,32,11,17中选出两个权小结点。选中11,17。同时计算出它们的和28。


(6)从19,21,32,28中选出两个权小结点。选中19,21。同时计算出它们的和40。另起一颗二叉树。


(7)从32,28, 40中选出两个权小结点。选中28,32。同时计算出它们的和60。  


(8)从 40, 60中选出两个权小结点。选中40,60。同时计算出它们的和100。 好了,此时哈夫曼树已经构建好了。

  • 106
    点赞
  • 239
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值