- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学 号:
课 程 设 计
题 目 哈夫曼树的应用 教 学 院 计算机学院 专 业 班 级 姓 名 指导教师
2012 年 06 月 日
课程设计任务书
2011~2012学年第 2学期
学生姓名: 专业班级:
指导教师: 工作部门: 计算机学院
一、课程设计题目:哈夫曼树的应用
二、课程设计内容(含技术指标)
1.从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上;
2.利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件Text.txt中的正文进行编码,然后将结果存入文件Code.txt中。
3.利用已建好的哈夫曼树将文件Code.txt中的代码进行译码,结果存入文件Text.txt中,并输出结果。
三、进度安排
2012年6月11日 设计动员,布置任务
2012年6月12日~2012年6月13日,查阅资料,分析、讨论与设计
2012年6月14日~2011年6月19日,编写程序,进行调试
2012年6月20日~2011年6月21日,完成模块联调,进行测试
2012年6月22日,成果验收,完成设计报告、答辩
四、基本要求
1.分析问题,给出数学模型,选择数据结构。
2.设计算法,给出算法描述,给出源程序清单。
3.编辑、编译、调试源程序,撰写课程设计报告。
4.界面友好,函数功能要划分好
5.总体设计应画一流程图
6.程序要加必要的注释
7.要提供程序测试方案
8.程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
目 录
摘要 1
一 概述 2
1.课程设计的目的 2
2.课程设计的要求 2
3.哈夫曼算法的实现 2
二 总体方案设计 3
1.整体的设计思路 3
2.算法的整体思路 3
3.工作内容 3
4.关键问题 4
三 详细设计 5
1.总体设计流程图 5
2.建立哈夫曼树 5
3.编码功能 6
4.译码功能 6
四 程序的调试与运行结果说明 7
五 课程设计总结 10
程序部分代码 11
参考文献 14
摘要
随着计算机的普遍应用与日益发展,其应用早已不局限于简单的数值运算,而涉及到问题的分析、数据结构框架的设计以及设计最短路线等复杂的非数值处理和操作。算法与数据结构的学习就是为以后利用计算机资源高效地开发非数值处理的计算机程序打下坚实的理论、方法和技术基础。
算法与数据结构旨在分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构,从而使建立在其上的解决问题的算法达到最优。
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。
《数据结构》主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。
一 概述
1.课程设计的目的
1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养综合运用所学知识独立完成课题的能力。
3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
2.课程设计的要求
一个完整的系统至少具有以下功能:
(1) I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立赫夫曼树,并将它存于文件hfmTree中。
(2) E:编码(Encoding)。利用已建好的赫夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。
(3) D:译码(Decoding)。利
您可能关注的文档
最近下载
- 教学能力大赛常见答辩问题汇总2.docx VIP
- 2025年河南省焦作市解放区小升初必考题数学检测卷含解析.doc VIP
- 小学人工智能校本课程《会听的人工智能——语音识别》教学设计.pdf VIP
- EVE各族战舰介绍及装配.doc VIP
- 2024-2025学年河南省焦作市解放区小升初总复习数学精选精练含解析.doc VIP
- 报刊客户的营销方案(3篇).docx VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 纺织企业(印染厂)全套组织架构、部门岗位职能设计及全套企业管理制度汇编(拿来即用).docx
- 电网物资质量检测能力评价导则(试行).docx
- 贵州省教科院贵州省教育学会教学设计论文评选结果.docx VIP
文档评论(0)