哈夫曼树及其应用-周彬

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设要传送的字符为:
若编码为:A—00 B—01 C—10 D--11
ABACCDA
00010010101100
若将编码设计为长度不等的二进制编码,即让待传字符串中 出现次数较多的字符采用尽可能短的编码,则转换的二进制 字符串便可能减少。
设要传送的字符为:ABACCDA
若编码为: A—0 B—00 C—1 D--01
ABACCDA
011001010111 0
求Huffman编码:
每个字符的编码即为从根到每个叶子的路径上得到的
0、1序列。
由叶子→根,若:
(1)从左分支下去,则分支为“0”;
(2)从右分支下去,则分支为“1”。
0
1
A0
1
C0
1
BD
译码过程:分解接收字符串:遇“0”向左,遇“1”向右; 一旦到达叶子结点,则译出一个字符,反复由根出发,直 到译码完成。
1 0
0110010101110
A0
1
C0
1
BD
ABACCDA
例 要传输的字符集 D={C,A,S,T, ; } 字符出现频率 w={2,4,2,3,3}
0 14 1
0
6 1
081
Leabharlann Baidu3 T
3 ;
4 A
0 2
41 2
CS
T : 00 ; : 01 A : 10 C : 110 S : 111
译码:从Huffman树根开始,从待译码电文中逐位取码。 若编码是“0”,则向左走;若编码是“1”,则向右走, 一旦到达叶子结点,则译出一个字符;再重新从根出发, 直到电文结束
14
0
1
0
6 1
3
3
T
;
8 01
4 A
0 41
22
CS
T : 00 ; : 01 A : 10 C : 110 S : 111
例 电文为“1101000” 译文只能是“CAT”
本节小结
1、哈夫曼树的定义——最优二叉树; 2、哈夫曼树的构造; 3、哈夫曼树的应用——哈夫曼编码;
作业
已知电文是 {CAS;CAT;SAT;AT}。请构造huffman树, 并进行huffman编码。
授课教师:xx
1
教学目标:
哈夫曼树的定义 构造哈夫曼树 哈夫曼树的应用,哈夫曼编码
重点难点:
构造哈夫曼树
新课导入
现实生活中常用的电报,在发电报之前首先要将文字 转换为二进制的字符组成的字符串。一般编码,如:
ABCD,分别用00,01,10,11表示。则BAD可以用 010011来表示。
为了缩短总的编码长度可以设计长度不等的编码且出
ABACCDA
但: 0000 AAAA ABA BB
重码 000011010
关键:要设计长度不等的编码,则必须使任一字符的编码都 不是另一个字符的编码的前缀。这种编码称作前缀编码。
0
1
A0
1
C0
1
采用二叉树设计 二进制前缀编码
BD
规定: 左分支用“0”表示; 右分支用“1”表示
设要传送的字符为:
若编码为 :A—0 B—110 C—10 D---111
现次数较多的字符采用尽可能短的编码。如:ABCD的编 码分别用0,00,1,01表示,则BAD可表示为:00001,但
是这样的电文无法翻译。
一、哈夫曼树的定义
哈夫曼树(Huffman)——带权路径长度最短的树。
❖定义(最优二叉数)
n
记作: wpl
wk lk
3
k 1
其中: wk — —权值
4
lk — —结点到根的路径长度
➢ 在森林中选取两棵根结点权值最小的树作左右子树, 构造一棵新的二叉树,置新二叉树根结点权值为其左右 子树根结点权值之和;
➢ 在森林中删除这两棵树,同时将新得到的二叉树加入 森林中;
➢重复上述两步,直到只含一棵树为止,这棵树即哈夫 曼树。
二、哈夫曼树的应用——哈夫曼编码
在远程通讯中,要将待传字符转换成由二进制组 成的字符串:
k 1
4d
a
bc
d
7 52
4
a
b
7
5
WPL=7*2+5*2+2*2+4*2=36
WPL=7*3+5*3+2*1+4*2=46
7a
5b WPL=7*1+5*2+2*3+4*3=35
2 c d4
构造Huffman树步骤:
➢ 根据给定的n个权值{w1,w2,……wn},构造n棵只有 根结点的二叉树,令起权值为wj;
Huffman树——
6
7
设有n个权值{w1,w2,……wn},构造一棵有n个叶子结点的二叉树, 每个叶子的权值为wi,则wpl最小的二叉树叫最优二叉树,也称为哈夫 曼树(Huffman tree)。
例 有4个结点,权值分别为7,5,2,4,构造有4个叶子 结点的二叉树
n
c
2
WPL WK LK
相关文档
最新文档