好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

哈夫曼编译码器课程设计报告样本.docx

7页
  • 卖家[上传人]:ni****g
  • 文档编号:530050620
  • 上传时间:2022-08-09
  • 文档格式:DOCX
  • 文档大小:15.25KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 学号1508 -第1学期《数据结构》课程设计报告题目:哈夫曼编/译码器专业 :计算机科学与技术(对口)班级:13( 3)姓名:陈霞指导教师:彭飞成绩:计算机学院11月12日目录设计内容及要求错误!未定义书签1.1内容1.2要求概要设计错误!未定义书签错误!未定义书签错误!未定义书签2.1抽象数据类型定义错误!未定义书签2.2模块划分设计过程及代码3.1设计过程3.2代码设计结果与分析参考文献1设计内容及要求错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签错误!未定义书签1.1内容利用哈夫曼编码进行信息通信能够大大提高信道利用率, 缩短信息传输时间,降低传输成本可是,这要求在发送端经 过一个编码系统对待传数据预先编码,在接收端将传来的数 据进行译码(复原)对于双工信道(即能够双向传输信息的 信道),每端都需要一个完整的编/译码系统试为这样的信息 收发站写一个哈夫曼编/译码系统1.2要求一个完整的系统应具有以下功能:(1) I:初始化(Initialization) o从终端读入字符集大小n,以 及n个字符和n个权值,建立哈夫曼树,并将它存于文件 hfmTree 中。

      2) E:编码(Encoding)利用已建好的哈夫曼树(如不在 内存,则从文件htmTree中读入),对文件ToBeTran中的正文 进行编码,然后将结果存入文件CodeFile中3) D:译码(Decoding)利用已建好的哈夫曼树将文件 CodeFile中的代码进行译码,结果存入文件TextFile中4) P:印代码文件(Print)将文件CodeFile以紧凑格式显 示在终端上,每行50个代码同时将此字符形式的编码写入 文件 CodePrint 中5) T:印哈夫曼树(Tree Printing)将已在内存中的哈夫 曼树以直观的方式(树或凹入表形式)显示在终端上,同时将 此字符形式的哈夫曼树写入文件TreePrint中顷V试数据](1) 数据一:已知某系统在通信联络中只可能出现8种字 符,其概率分别为 0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11,以此 设计哈夫曼编码利用此数据对程序进行调试2) 用下表给出的字符集和频度的实际统计数据建立哈夫 曼树,并实现以下报文的编码和译码:” THIS PROGRAM IS MY FAVORITE”字符ABCDEFGHIJKLM频度1866413223210321154757153220字符NOPQRSTUVWXYZ频度57631514851802381811612概要设计2.1抽象数据类型定义ADT Stack数据对象:D={ai|ai€ElemSet,i=1,2,...,n, n>0}数据关系:若D为空集,则称为空树。

      若D仅为一个数据元素,则R为空集,否则R={H}, H是如下的 二元关系:(1) 再D中存在唯一的称为根的数据元素root,它在关系H下无前驱2) 若D-{root}<>空集,则存在一个划分D1, D2, •••, Dm( m>0)3) 对应于 D-{root }的划分,H-{}有唯一的一个划分 H1, H2, ••• , Hm( m>0)基本操作:InitTree(&T)操作结果:构造空树TDestroyTree(&T)初始条件:树T已存在操作结果:树T被销毁ClearTree(&T)初始条件:树T已存在操作结果:将树T清为空栈TreeEmpty(T)初始条件:树T已存在操作结果:若树T为空,则返回TRUE,否则FALSEoTreeDepth(T)初始条件:树T已存在操作结果:返回T的深度Root( T)初始条件:树T已存在操作结果:返回树T的根2.2模块划分本程序包括三个模块:(1) 主程序模块void main(){初始化;构造哈夫曼树;求哈夫曼编码;哈夫曼编码输出;}(2) 哈夫曼模块一一实现哈夫曼树的抽象数据类型(3) 求哈夫曼编码模块一一实现求哈夫曼编码算法的数据类型3设计过程及代码3.1设计过程1、数据类型的定义(1)哈夫曼树类型typedef struct{〃构造树char data;//结点权值int weight;//^重int parent;//双 亲结点int Ichild;//左 孩子int rchild;//右 孩子}HTNode;HTNode ht[30];(2)求哈夫曼编码类型typedef struct(char cd[30];//存放当前结点的哈弗曼编码int start;//cd[start]~cd[n]存放哈弗曼码 }HCode;HCode hcd[30];。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.