哈弗曼树原理及应用

哈夫曼树(Huffman Tree)是一种带权路径长度最短的二叉树,广泛应用于数据压缩。本文介绍了哈夫曼树的构造原理,并提供了一个8个字母频率的电文编码实例。
摘要由CSDN通过智能技术生成

哈夫曼树

哈夫曼(Huffman)树,又称为 最优树 ,是一类带权路径长度最短的树,有着广泛的应用,常用的JPEG图片格式就是采用哈夫曼树进行编码压缩的。在这里我们将要讨论哈夫曼二叉树(最优二叉树)的概念及其算法。
1.问题的引入
  将树结构用于实际,常常要考虑一个问题,即如何设计一棵二叉树,使得执行路径最短,即算法的效率最高。
   例如:现有一批球磨机上的铁球,需要将它分成四类:直径不大于20的属于第一类;直径大于20而不大于50的属于第二类;直径大于50而不大于100的属于第三类;其余的属于第四类;假定这批球中属于第一、二、三、四类铁球的个数之比例是1:2:3:4。
   我们可以把这个判断过程表示为下图中的两种方法:
   那么究竟将这个判断过程表示成哪一个判断框,才能使其执行时间最短呢?让我们对上述判断框做一具体的分析。
   假设有1000个铁球,各类铁球的个数分别为:100、200、300、400;
   对于图(a)和 图(b)比较的次数分别如下表所示:

图(a)

 

图(b)

序号

比较式

比较次数

序号

比较式

比较次数

1

a<=20

1000

1

a>100

1000

2

a<=50

900

2

a>50

600

3

a<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值