哈弗曼编码数据结构课程设计报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大学课程设计(论文) PAGE 第 PAGE 26 页( 共 NUMPAGES 26 页) 大学 课程设计(论文) 题 目: 哈夫曼树应用 院 (系): 信控学院 专业班级: 计算机 姓 名: 学 号: 指导教师: 2008年 9月 14 日 大学课程设计(论文)任务书 专业班级: 学生姓名:指导教师(签名) 一、课程设计(论文)题目 哈夫曼树应用: 应完成如下功能:初始化;编码;译码;印文件代码;印哈夫曼树。 二、本次课程设计(论文)应达到的目的 数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。 本题目要达到目的:熟练掌握哈夫曼树的实现以及应用。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 基本要求: 从文件hfmInput.txt读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree.txt中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上。 利用已经建好的哈夫曼树(如不在内存,则从文件hfmTree.txt中读入),对文件ToBeTran.txt中的正文进行编码,然后将结果存入文件CodeFile.txt中,并输出结果,将文件CodeFile.txt以紧凑格式先是在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrint.txt中。 利用已建好的哈夫曼树将文件CodeFile.txt中的代码进行译码,结果存入文件TextFile.txt中,并输出结果。 四、应收集的资料及主要参考文献: 1. 数据结构与算法,科学出版社,2005.08;赵文静 祁飞等编著 2. 数据结构-C++语言描述,西安交通大学出版社,1999.01,赵文静编著 3.C++程序设计,电子工业出版社。[美]James P.Cohoon Jack W.Davidson 著。 4.本年级用的教材:数据结构与算法分析(C++版)[美]Clifford A.Shaffer 著。 5.上网搜索到的相关文档解读(文件的输入输出操作)。 五、审核批准意见 教研室主任(签字) 目 录 设计目的 ……………………………… 4 问题描述 ……………………………… 4 需求分析 ……………………………… 4 概要设计 ……………………………… 4 详细设计 ……………………………… 7 测试分析 ……………………………… 12 使用说明 ……………………………… 20 总 结 ……………………………… 20 参考资料 ……………………………… 22 《数据结构》课程设计 —哈夫曼树应用 设计目的 熟练掌握并应用哈夫曼树的建立及哈夫曼树编码译码的算法,与此同时同时熟练掌握数据结构知识。 问题描述 从终端输入所建立的哈夫曼树的字符个数n,以及n个字符和n个字符对应的权值,用此建立一棵哈夫曼树;用所建立的哈夫曼树将一段从终端输入的字符进行编码输出结果并保存;把保存好的哈夫曼编码进行译码并保存。 需求分析 从终端输入字符个数n以及n个字符和n个字符对应的权值,以此建立一颗哈夫曼树。 能够用所建立的哈夫曼树对一段相应的字符进行“0”“1”编码。 能够将该哈弗曼编码进行译码并输出相应字符。 概要设计 1、算法思想 用一维数组扫描存储一个存储着哈夫曼树的结点信息的文件,对数组进行操作建立哈夫曼树。用一维数组扫描存储一个存储着相应需要编码字符的文件,利用所建立的哈夫曼树,对数组操作进行编码。用一维数组扫描存储一个存储着相应编码字符的文件,利用所建立的哈夫曼树,对数组操作进行译码。 2、框架设计: 主函数模块: void main(void) { 初始化: while { 界面显示输出部分; switch(choice) {case ‘b’: 接受命令; 处理命令; case ‘e’: 接受命令; 处理命令; case ‘d’: 接受命令; 处理命令; case ‘p’: 接受命令; 处理命令; case ‘q’: 接受命令; 处理命令; } } 开始 开始 定义各种变量 定义

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档