- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工作方案设计书译码器
湖南商学院
《计算机软件设计》课程设计(实习)报告
题 目 哈夫曼编/译码器
姓 名:
学 号:
专 业:
班 级:
指导教师:
职 称:
计算机与电子工程学院
2011年11月
课程设计(实习)评审表
姓 名
学 院
计算机与电子工程学院
学 号
专业班级
题 目
哈夫曼编/译码器
评
审
意
见
评审成绩
指导教师签名
职称
评审时间
年 月 日
课程设计(实习)作品验收表
题目
哈夫曼编/译码器
参与人员
姓名
班级
学号
设计任务与要求:
设计哈夫曼编/译码器系统,实现编码、译码功能。
作品完成情况:
成功运行,实现了编码译码功能。
验收情况:
验收教师签名:___________
年月日
注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。
2. “验收情况”栏由验收小组按实际验收的情况如实填写。
目录
TOC \h \z \t 一级标题,1,二级标题,2 1 课程设计任务与要求1矚慫润厲钐瘗睞枥庑赖。
1.1 课程设计任务1
1.2 问题分析1
2 系统总体设计 4聞創沟燴鐺險爱氇谴净。
2.1总体设计思想、设计方案的选择 5残骛楼諍锩瀨濟溆塹籟。
2.2 系统结构图 5酽锕极額閉镇桧猪訣锥。
3 系统详细设计 5彈贸摄尔霁毙攬砖卤庑。
3.1 确定所需模块 5謀荞抟箧飆鐸怼类蒋薔。
3.2 各子模块功能描述 5厦礴恳蹒骈時盡继價骚。
3.3 模块间调用关系 5茕桢广鳓鯡选块网羈泪。
4 系统实现与测试 5鹅娅尽損鹌惨歷茏鴛賴。
4.1系统测试用例的设计 5籟丛妈羥为贍偾蛏练淨。
4.2系统测试结果 6預頌圣鉉儐歲龈讶骅籴。
5 课程设计总结 6渗釤呛俨匀谔鱉调硯錦。
参考文献 6铙誅卧泻噦圣骋贶頂廡。
附录 6擁締凤袜备訊顎轮烂蔷。
哈夫曼编/译码器
1 课程设计任务与要求
1.1 课程设计任务
此次课程设计要求设计一个哈夫曼编/译码器,实现如下功能:
一、在本程序中,用户通过键盘进行人机交互,可以在键盘上输入字符集大小,字符可以出现重码,字符输入顺序不受限制。贓熱俣阃歲匱阊邺镓騷。
二、演示程序以用户与计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令,相应的输入数据(可虑去输入中的非法字符)和运算结果显示在其后。? 三、本演示程序中,当用户选择的功能错误时,系统会输出相应的提示。? 四、在本程序中,用户对给定的原字符串进行编码,对给定的编码串进行译码。 1.2 问题分析坛摶乡囂忏蒌鍥铃氈淚。
哈夫曼在上世纪五十年代初就提出这种编码时,根据字符出现的概率来构造平均长度最短的编码。它是一种变长的编码。哈夫曼编码应用广泛,如JPEG中就应用了哈夫曼编码。在编码中,若各码字长度严格按照码字所对应符号出现概率的大小的逆序排列,则编码的平均长度是最小的。构造好哈夫曼树后,就可根据哈夫曼树进行编码。然而怎样构造一棵哈夫曼树呢?最具有一般规律的构造方法就是哈夫曼算法。字符根据其出现的概率作为权值构造一棵哈夫曼树后,经哈夫曼编码得到的对应的码值。只要使用同一棵哈夫曼树,就可把编码还原成原来那组字符。显然哈夫曼编码是前缀编码,即任一个字符的编码都不是另一个字符的编码的前缀,否则,编码就不能进行翻译。蜡變黲癟報伥铉锚鈰赘。
分析此次设计,是关于实现利用哈夫曼算法编码和译码功能的问题,要求能重复地显示并处理以下工程,即构造哈夫曼树,编码及译码几项功能,直到选择退出为止。本次设计就是为这样的一个哈夫曼的编/译码器。買鲷鴯譖昙膚遙闫撷凄。
2 总体设计
2.1总体设计思想、设计方案的选择
哈夫曼编码所以能产生较短的码文,是因为哈夫曼树具有最小加权路径长度的二叉树。如果叶结点的权值恰好是某个需编码的文本中各字符出现的次数,则编码后文本的长度就是该哈夫曼树的加权路径长度。译码过程为自做向右逐一扫描码文,并从哈夫曼树的根开始,将扫到的二进制位串中的相邻位与哈夫曼树上标的0,1相匹配,以确定一条从根到叶子结点的路径,一旦到达叶子,则译出了一个字符。再回到树根,从二进位串的下一位开始继续译码。 綾镝鯛駕櫬鹕踪韦辚糴。
2.1.1建立模型
2.1.2数据结构
a. typedef struct
{ int weight。
int parent,lchild,rchild。
}HTNode,* HuffmanTree。 //动态分配数组存储赫夫曼树??
typedef char **HuffmanCode。 //动态分配数组存储赫夫曼编码表
b. int min(HuffmanTree t,int i) // 求赫夫曼编码驅
您可能关注的文档
- 转换层模板及支撑施工工作方案.doc
- 轮心堆焊机总体工作方案及减速器设计.doc
- 轮滑趣味运动会专业专业技术工作方案.doc
- 轮扣式模板施工专业技术工作方案(专家论证).doc
- 软件企业流程化管理实施工作方案.doc
- 软件学院工程硕士研究生开题分析工作方案.doc
- 软件学院软件工程硕士版培养工作方案终稿单证.doc
- 软件工程机票预订系统总体工作方案.doc
- 软件工程学院本科人才培养技术工作方案.doc
- 软件工程实验报告模板面向对象设计工作方案.doc
- GB/Z 10062.20-2025锥齿轮承载能力计算方法 第20部分:胶合承载能力计算 闪温法.pdf
- 中国国家标准 GB/Z 10062.20-2025锥齿轮承载能力计算方法 第20部分:胶合承载能力计算 闪温法.pdf
- 《GB/T 46713.1-2025轨道交通 机车车辆 辅助供电系统蓄电池 第1部分:通用要求》.pdf
- GB/T 46713.1-2025轨道交通 机车车辆 辅助供电系统蓄电池 第1部分:通用要求.pdf
- 中国国家标准 GB/T 46713.1-2025轨道交通 机车车辆 辅助供电系统蓄电池 第1部分:通用要求.pdf
- 《GB 19079.19-2025体育场所开放条件与技术要求 第19部分:拓展场所》.pdf
- 中国国家标准 GB 19079.19-2025体育场所开放条件与技术要求 第19部分:拓展场所.pdf
- GB 19079.19-2025体育场所开放条件与技术要求 第19部分:拓展场所.pdf
- GB/T 4937.25-2025半导体器件 机械和气候试验方法 第25部分:温度循环.pdf
- 中国国家标准 GB/T 4937.25-2025半导体器件 机械和气候试验方法 第25部分:温度循环.pdf
原创力文档


文档评论(0)