- 20
- 0
- 约1.72万字
- 约 30页
- 2017-08-31 发布于重庆
- 举报
哈夫曼编译码课程设计
兰州商学院陇桥学院
工学系课程设计报告
设 计 题 目:哈夫曼编译码器
系 别:工学系
专 业 (方 向):计算机科学与技术
年 级、 班:2012级(网络工程方向)班
学 生 姓 名:问亚兵
学 生 学 号:20120661132
指 导 教 师:王万玉
2013年 12月20日
一、系统开发的背景 1
二、系统分析与设计 1
(一) 系统功能要求 1
(二) 系统模块结构设计 2
(一) 初始化哈夫曼树:InitHuffman(Huffman Hfm) 3
(二) 编码:Encoding(Huffman Hfm) 6
(三) 译码:Decoding(Huffman Hfm) 7
(四) 印代码文件:Print(Huffman Hfm) 9
(五) 印哈夫曼树:TreePrint(Huffman Hfm) 10
四、系统测试 11
(一) 测试 main( )函数 11
(二) 测试InitHuffman(Huffman Hfm)函数 12
(三) 测试Encoding(Huffman Hfm) 函数 12
(四) 测试Decoding(Huffman Hfm) 函数 12
(五) 测试Print(Huffman Hfm)函数 13
(六) 测试TreePrint(Huffman Hfm)函数 13
五、总结 14
六、附件(代码、部分图表) 14
哈夫曼编译码器
一、系统开发的背景
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。
二、系统分析与设计
系统功能要求
一个完整的哈夫曼系统应具有以下功能:
I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。
E:编码(Encoding)。利用以建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。
D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。
P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrin中。
T:印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。
【测试数据】
利用教科书中的数据调试程序。
用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。
字符 空格 A B C D E F G H I J K L M 频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z 频度 57 63 15 1 48 51 80 23 8 18 1 16 1 系统模块结构设计
通过对系统功能的分析,哈夫曼编译码系统功能如图1所示。
图1 哈夫曼编译码器系统功能图
通过上图的功能分析,把整个系统划分为6个模块
初始化哈夫曼树(Initialization),该模块主要实现:从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。借助函数InitHuffman(Huffman Hfm)来实现;
编码(Encoding),该模块主要实现:利用以建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。借助函数void Encoding(Huffman Hfm)来实现void Decoding(Huffman Hfm)来实现Print(Huffman Hfm)来实现Print(Huffman Hfm)来实现InitHuffman(Huffman Hfm)
分析:首先建立
您可能关注的文档
最近下载
- (正式版)DB1501∕T 0038-2023 《红花生态种植技术规程》.pdf VIP
- 2025年广东中山中考语文试题及答案(word版) .pdf VIP
- 《中国文化概论》张岱年课后习题答案.pdf VIP
- 德阳市中考:2025年-2023年《化学》考试真题与参考答案.pdf
- 公路平面交叉设计细则.docx VIP
- 人教版二年级下册数学全册教学设计(配2026年春改版教材).docx
- 智慧树 知到 大学生爱国教育十讲 章节测试答案.docx VIP
- 2024年广东中山中考语文试题及答案.pdf VIP
- 医院药品采购管理制度细则.docx VIP
- 2《JavaScript初级》教学计划大纲.docx VIP
原创力文档

文档评论(0)