数据结构-哈夫曼树

计算带权路径长度方法:第一棵树:有4个结点1,3,4,5;从顶点到权重为1的点需要经过两条边;所以权重为1的结点;结点路径长度是1*2=2;其他结点从顶点到最后也是经过两条边;所以带权路径长度是1*2+3*2+4*2+5*2 = 26;

第二棵树:从顶点到权重为5的结点长度是1;顶点到4的长度是2;顶点到1的长度是3;顶点到3的长度是3;所以带权路径长度是:1*5+2*4+3*1+3*3 = 25;

其他几个树带权路径的计算长度也是一样的。

其中最小的值25;所以称中间两棵树是哈夫曼树;或者是 最优二叉树。

 

构造最优二叉树:第一步先挑出权最小的两个结点;这里a和c;然后组成一棵树;这里是第二张图;这棵树的权路径之和是3,然后用剩下最小的权路径结点;与这个二叉树结合;得到是第三张图;得到的结点权值之和是3;然后用b结点与权值5这个结点结合;得到权值是8的结点;最后;就得到最后这张图;最优二叉树。 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值