ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:238.50KB ,
资源ID:183057      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/183057.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(推荐课程设计报告哈夫曼编码.doc)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

推荐课程设计报告哈夫曼编码.doc

1、如果您需要使用本文档,请点击下载按钮下载!学 号: 课 程 设 计题 目哈夫曼编码学 院计算机科学与技术专 业计算机科学与技术班 级姓 名指导教师2010年07月02日如果您需要使用本文档,请点击下载按钮下载!课程设计任务书 学生姓名: 拉巴珠久 专业班级: 计算机0806 指导教师: 姚寒冰 工作单位: 计算机科学系 题 目: 哈夫曼编码 初始条件: 输入一段英文字符,试为该文中的每个字符编制相应的哈夫曼码。(1)I:初始化(Initialization)。对输入的一段英文中的每个字符统计其权值,建立哈夫曼树; (2)E:编码(Encoding)。利用已建好的哈夫曼树,对每个字符进行编码。(

2、3)D:译码(Decoding)。利用已建好的每个编码,对输入的一个由0、1组成的序列进行译码; (4)P:印代码文件(Print)。将每个字符编的哈夫曼码和译码结果显示在终端上。 测试用例见题集p149。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)课程设计报告按学校规定格式用A4纸打印(书写),并应包含如下内容: 1、 问题描述简述题目要解决的问题是什么。2、 设计存储结构设计、主要算法设计(用类C语言或用框图描述)、测试用例设计;3、 调试报告调试过程中遇到的问题是如何解决的;对设计和编码的讨论和分析。4、 经验和体会(包括对算法改进的设想)5、 附源

3、程序清单和运行结果。源程序要加注释。如果题目规定了测试数据,则运行结果要包含这些测试数据和运行输出,6、 设计报告、程序不得相互抄袭和拷贝;若有雷同,则所有雷同者成绩均为0分。时间安排:1、第18周(6月28日至7月2日)完成。2、7月2 日08:30到计算中心检查程序、交课程设计报告、源程序(CD盘)。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日如果您需要使用本文档,请点击下载按钮下载!目录1 设计题目12 问题描述13.1数据结构设计13.2主要算法设计33.3测试用例设计64调试报告75结束语7六、课程设计参考资料8附录9F1 源代码9F2 运行结果16如果您需要使用

4、本文档,请点击下载按钮下载!哈夫曼编码 1 设计题目 哈夫曼编码2 问题描述输入一段英文字符,试为该文中的每个字符编制相应的哈夫曼码。(1)I:初始化(Initialization)。对输入的一段英文中的每个字符统计其权值,建立哈夫曼树; (2)E:编码(Encoding)。利用已建好的哈夫曼树,对每个字符进行编码。(3)D:译码(Decoding)。利用已建好的每个编码,对输入的一个由0、1组成的序列进行译码; (4)P:印代码文件(Print)。将每个字符编的哈夫曼码和译码结果显示在终端上。3设计3.1数据结构设计抽象数据类型二叉树的定义如下:ADT BinaryTree数据对象D:D是具

5、有相同特性的数据元素的集合。数据关系R:基本操作P:InitBiTree(&T);操作结果:构造空二叉树T。DestroyBiTree(&T);初始条件:二叉树T存在。操作结果:销毁二叉树T。CreateBiTree(&T,definition);如果您需要使用本文档,请点击下载按钮下载!初始条件:definition给出二叉树T的定义。操作结果:按definition构造二叉树T。ClearBiTree(&T);初始条件:二叉树T存在。操作结果:将二叉树T清为空树。BiTreeEmpty(T);初始条件:二叉树T存在。操作结果:若T为空二叉树。则返回TRUE,否则FALSE。BiTreeDe

6、pth(T);初始条件:二叉树T存在。操作结果:返回T的深度。Root(T);初始条件:二叉树T存在。操作结果:返回T的根。Value(T,e);初始条件:二叉树T的存在,e是T中某个结点。操作结果:返回e的值。Assign(T,&e,value);初始条件:二叉树T存在,e是T中某个结点。操作结果:结点e赋值为value。Parent(T,e);初始条件:二叉树T存在,e是T 中某个结点。操作结果:若e是T的非根结点,则返回它的双亲,否则返回“空”。DeleteChild(T,p,LR);初始条件:二叉树T存在,p指向T中某个结点,LR为0或1。操作结果:根据LR为0或1,删除T中p所指结点

7、的左或右子树。InsertChild(T,p,LR,c);初始条件:二叉树的T存在,p指向T中某个结点,LR为0或1,非空二叉树c与T不相交且右子树为空。如果您需要使用本文档,请点击下载按钮下载!操作结果:根据LR为0或1,插入c为T中p所指结点的左或右子树。P所指结点的原有左或右子树则成为c的右子树。3.2主要算法设计程序中一共定义了一个结构体和三个函数如下:struct Huffman/定义指向结点的结构体int weight;/权值int parent,lchild,rchild;/父亲结点和左右结点的位置;void select(Huffman * ht,int i,int & s1,

8、int & s2)/选择权值较小的两个作为新的叶子结点,用于huffman的构造。int j,k;k=s1;for(j=0;ji+1;j+)if(s1!=j&j!=s2&htj.parent=0)s1=j;break; for(j=0;ji+1;j+)if(s2!=j&s1!=j&j!=k&htj.parent=0)s2=j;break;for(j=1;j=i;j+)if(htj.weighthts1.weight&htj.parent=0)s1=j;if(s1=s2)如果您需要使用本文档,请点击下载按钮下载! for(j=0;ji+1;j+) if(s2!=j&s1!=j&j!=k&htj.parent=0)s2=j;break;for(j=0;j=i;j+)if(htj.weighthts2.weight&htj.parent=0&j!=s1) s2=j;void Huffmancoding(Huffman * ht,char * *&hc,int k)/对haffman进行编码int m,s1=0,s2=0,start,c,i,f,j;char * cd;m=2*k-1;for(i=k;im;i+)/构建huffman树select(ht,i-1,s1,s2);/调用select函数hts1.parent=i;hts2.parent=i;hti.lchild=s1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1