数据结构之哈夫曼树

本文介绍了哈夫曼树的基本概念,包括由n个带权值叶子构造的最优二叉树,以及带权路径长度的计算。还阐述了哈夫曼树的构造过程,并详细说明了如何通过代码实现哈夫曼编码系统,包括建立哈夫曼树、生成哈夫曼码表以及计算带权路径长度的功能。
摘要由CSDN通过智能技术生成

一.哈夫曼树的描述:

   

 一般来说,用n(n>0)个带权值的叶子来构造二叉树,限定二叉树中除了这n个叶子外只能出现度为2的结点。那么符合这样条件的二叉树往往可构造出许多棵,其中带权路径长度最小的二叉树就称为哈夫曼树最优二叉树

 

二.哈夫曼树的构造

 

树的带权路径长度:如果树中每个叶子上都带有一个权值,则把树中所有叶子的带权路径长度之和称为树的带权路径长度。

 

某二叉树有n个带权值的叶子结点,则该二叉树的带权路径长度记为:

Wk为第k个叶子结点的权值;Lk为该结点的路径长度。

 

 

其基本思想如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值