1、学学 号:号: 2* 课课 程程 设设 计计 题题 目目 哈夫曼树的应用 教教 学学 院院 计算机学院 专专 业业 计算机科学与技术 班班 级级 * 姓姓 名名 * 指导教师指导教师 2012 年 06 月 日 1 课程设计任务书课程设计任务书 20112012 学年第 2 学期 学生姓名:学生姓名: * 专业班级:专业班级:* 指导教师:指导教师: * 工作部门:工作部门: 计算机学院 一、课程设计题目:一、课程设计题目:哈夫曼树的应用 二、课程设计内容二、课程设计内容(含技术指标) 1.从终端读入字符集大小 n, 以及 n 个字符和 n 个权值, 建立哈夫曼树并将它存于文件 hfmTree
2、 中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上; 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 日,编写程序,进
3、行调试 2012 年 6 月 20 日2011 年 6 月 21 日,完成模块联调,进行测试 2012 年 6 月 22 日,成果验收,完成设计报告、答辩 四、基本要求四、基本要求 1分析问题,给出数学模型,选择数据结构。 2设计算法,给出算法描述,给出源程序清单。 3编辑、编译、调试源程序,撰写课程设计报告。 4界面友好,函数功能要划分好 5总体设计应画一流程图 6程序要加必要的注释 7要提供程序测试方案 8程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没 有价值的。 2 目目 录录 摘要 3 一 概述. 4 1.课程设计的目的. 4 2.课程设计的要求. 4 3.哈
4、夫曼算法的实现 . 4 二 总体方案设计 5 1.整体的设计思路. 5 2.算法的整体思路. 5 3.工作内容 . 5 4.关键问题 . 6 三 详细设计 . 7 1.总体设计流程图. 7 2.建立哈夫曼树 7 3.编码功能 . 8 4.译码功能 . 8 四 程序的调试与运行结果说明 . 9 五 课程设计总结.12 程序部分代码 13 参考文献16 3 摘要摘要 随着计算机的普遍应用与日益发展, 其应用早已不局限于简单的数值运算, 而涉及到问题的分析、数据结构框架的设计以及设计最短路线等复杂的非数值 处理和操作。算法与数据结构的学习就是为以后利用计算机资源高效地开发非 数值处理的计算机程序打下坚实的理论、方法和技术基础。 算法与数据结构旨在分析研究计算机加工的数据对象的特性,以便选择适 当的数据结构和存储结构,从而使建立在其上的解决问题的算法达到最优。 数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反 映一个数