哈夫曼编译码器课程设计报告样本_第1页
哈夫曼编译码器课程设计报告样本_第2页
哈夫曼编译码器课程设计报告样本_第3页
哈夫曼编译码器课程设计报告样本_第4页
哈夫曼编译码器课程设计报告样本_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号1508-第1学期数据结构课程设计报告题目:哈夫曼编/译码器专业 :计算机科学与技术(对口)班级:13( 3)姓名:陈霞指导教师:彭飞成绩:计算机学院11月12日目录设计内容及要求错误!未定义书签。1.1内容1.2要求概要设计错误!未定义书签。错误!未定义书签。错误!未定义书签。2.1抽象数据类型定义错误!未定义书签。2.2模块划分设计过程及代码3.1设计过程3.2代码设计结果与分析参考文献1设计内容及要求错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。1.1内容利用哈夫曼编码进行信息通信能够大大提高信道利用率, 缩短信息传输时间

2、,降低传输成本。可是,这要求在发送端经 过一个编码系统对待传数据预先编码,在接收端将传来的数 据进行译码(复原)。对于双工信道(即能够双向传输信息的 信道),每端都需要一个完整的编/译码系统。试为这样的信息 收发站写一个哈夫曼编/译码系统。1.2要求一个完整的系统应具有以下功能:I:初始化(Initialization) o从终端读入字符集大小n,以 及n个字符和n个权值,建立哈夫曼树,并将它存于文件 hfmTree 中。E:编码(Encoding)。利用已建好的哈夫曼树(如不在 内存,则从文件htmTree中读入),对文件ToBeTran中的正文 进行编码,然后将结果存入文件CodeFile

3、中。D:译码(Decoding)。利用已建好的哈夫曼树将文件 CodeFile中的代码进行译码,结果存入文件TextFile中。P:印代码文件(Print)。将文件CodeFile以紧凑格式显 示在终端上,每行50个代码。同时将此字符形式的编码写入 文件 CodePrint 中。T:印哈夫曼树(Tree Printing)。将已在内存中的哈夫 曼树以直观的方式(树或凹入表形式)显示在终端上,同时将 此字符形式的哈夫曼树写入文件TreePrint中。顷V试数据数据一:已知某系统在通信联络中只可能出现8种字 符,其概率分别为 0.05,0.29,0.07,0.08,0.14,0.23,0.03,0

4、.11,以此 设计哈夫曼编码。利用此数据对程序进行调试。用下表给出的字符集和频度的实际统计数据建立哈夫 曼树,并实现以下报文的编码和译码:” THIS PROGRAM IS MY FAVORITE”。字符ABCDEFGHIJKLM频度1866413223210321154757153220字符NOPQRSTUVWXYZ频度57631514851802381811612概要设计2.1抽象数据类型定义ADT Stack数据对象:D=ai|aiElemSet,i=1,2,.,n, n0数据关系:若D为空集,则称为空树。若D仅为一个数据元素,则R为空集,否则R=H, H是如下的 二元关系:再D中存在唯

5、一的称为根的数据元素root,它在关系H下无前驱。若D-root空集,则存在一个划分D1, D2, , Dm( m0)。对应于 D-root 的划分,H-root, X1, , 有唯一的一个划分 H1, H2, , Hm( m0)。基本操作:InitTree(&T)操作结果:构造空树T。DestroyTree(&T)初始条件:树T已存在。操作结果:树T被销毁。ClearTree(&T)初始条件:树T已存在。操作结果:将树T清为空栈。TreeEmpty(T)初始条件:树T已存在。操作结果:若树T为空,则返回TRUE,否则FALSEoTreeDepth(T)初始条件:树T已存在。操作结果:返回T的深度。Root( T)初始条件:树T已存在。操作结果:返回树T的根。2.2模块划分本程序包括三个模块:主程序模块void main()初始化;构造哈夫曼树;求哈夫曼编码;哈夫曼编码输出;哈夫曼模块一一实现哈夫曼树的抽象数据类型求哈夫曼编码模块一一实现求哈夫曼编码算法的数据类型3设计过程及代码3.1设计过程1、数据类型的定义(1)哈夫曼树类型typedef struct构造树char data;/结点权值int weight;/重int parent;/双 亲结点int Ichild;/左 孩子int rchild;/右 孩子HTNode;HTNode ht30;(2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论