数据结构课设哈夫曼编译码器学 号:姓 名:提交日期:成 绩:一、实验名称哈夫曼编/译码器得实现二、实验要求【问题描述】利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本
但就是,这要求在发送端通过一个编码系统对待传来数据预先编码,在接收端将传来得数据进行译码(复原)
对于双工信道(即可以双向传输信息得信道),每端都需要一个完整得编/译码系统
试为这样得信息收发站写一个哈夫曼码得编/译码系统
【基本要求】一个完整得系统应具有以下功能:(1)I:初始化(In it ializati o n)
从终端读入字符集大小 n , 以及 n 个字符与n个权值,建立哈夫曼树,并将它存于文件 h fm Tree 中
(2)E:编码(Enc o ding)
利用已建好得哈夫曼树(如不在内存,则从文件 hfmTree 中读人),对文件 T o BeTr a n 中得正文进行编码,然后将结果存入文件 CodeFi l e 中
(3)D: 译码(De co ding)
利用已建好得哈夫曼树将文件 C odeFile 中得代码进行译码,结果存入文件 TextFile 中
(4)P:打印代码文件(Prin t)
将文件C o d eFile 以紧凑格式显示在终端上,每行 50 个代码
同时将此字符形式得编码文件写入文件 C o de P ri n 中
(5)T:打印哈夫曼树(Tree prin t i ng)
将已在内存中得哈夫曼树以直观得方式(树或凹入表形式)显示在终端上,同时将此字符形式得哈夫曼树写入文件 TreePrint 中
【测试数据】(1)利用教科书例 6—2 中得数据调试程序
(2)用下表给出得字符集与频度得实际统计数据建立哈夫曼树 , 并实现以下报文得编码与译码:"T HI S PR OGRA M I S M Y F A VO R ITE"
字符ABCDEFGH