哈夫曼编码课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(论文)任务书

软件学院软件+电气专业 1 班

一、课程设计(论文)题目哈夫曼树及其编码

二、课程设计(论文)工作自 2015年 1 月 5 日起至 2015年 1 月 9日止。

三、课程设计(论文) 地点: 创新大楼303,305

四、课程设计(论文)内容要求:

1.课程设计的目的

为了配合《数据结构》课程的教学,使学生能更深刻的领会《数据

结构》课程的重要性,特开设此课程设计;编写一些在特定数据结构上的

算法,通过上机调试,更好的掌握各种数据结构及其特点,培养学生综合

运用所学理论知识解决复杂实际问题的实践能力、研究性学习能力和团队

合作能力。

2.课程设计的任务及要求

1)基本要求

(1)课程设计前必须选定课程设计题目,并认真进行需求分析与系统设

计;

(2)上机调试之前要认真准备实验程序及调试时所需的测试数据;

(3)独立思考,独立完成,严禁抄袭,调试过程要规范,认真记录调试

结果;

(4)上机结束后认真规范撰写课设报告,对设计进行总结和讨论。

2)课程设计论文编写要求

(1)要按照书稿的规格撰写打印课设论文

(2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等

(3)正文中要有问题描述、抽象数据类型的定义、数据的存储结构、设

计的求解算法、算法的实现、调试分析与测试结果

(4)课设论文装订按学校的统一要求完成

3)课设考核

从以下几方面来考查:

(1)考勤和态度;

(2)任务的难易程度及设计思路;

(3)动手调试能力;

(4)论文撰写的水平、格式的规范性。

4)参考文献

[1] 严蔚敏, 吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社,

2007年.

[2] 严蔚敏, 吴伟民. 数据结构题集(C语言版)[M]. 北京:清华大学出版

社, 2007年.

[3] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2006年.

5)课程设计进度安排

内容天数地点

构思及收集资料1图书馆

程序设计与调试3计算机房

撰写论文1图书馆

6)任务及具体要求

⑴初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;

⑵编码:利用建好的哈夫曼树生成哈夫曼编码;

⑶输出其哈夫曼树及哈夫曼编码;

⑷设字符集及频度如下表:

字符空格 A B C D E F G H I J K L M

频度 197 64 13 22 32 103 21 15 47 57 5 1 20 32

字符 N O P Q R S T U V W X Y Z

频度 57 63 1 15 48 16 80 23 8 18 1 51 1

学生签名:

年月日

课程设计(论文)评审意见

(1)考勤和态度:优()、良()、中()、一般()、差()

(2)任务难易及设计思路:优()、良()、中()、一般()、差()

(3)动手调试能力评价:优()、良()、中()、一般()、差()

(4)论文撰写水平及规范性评价:优()、良()、中()、一般()、差()

评阅人:职称:讲师

年月日

目录

1 设计任务 (1)

2 需求分析 (1)

3 概要设计 (1)

3.1模块设计 (1)

3.2系统子程序即功能设计 (1)

4 详细设计 (2)

5 编码实现 (3)

5.1数据类型定义 (3)

5.2哈夫曼编码模块设计 (3)

5.3主程序模块 (6)

6 调试分析 (7)

7 课设总结 (9)

参考文献 (9)

附录 (10)

一设计任务

问题描述:

设计一个利用哈夫曼算法的编码系统,重复地显示并处理以下项目,直到选择退出为止。

基本要求:

⑴初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;⑵编码:利用建好的哈夫曼树生成哈夫曼编码;⑶输出其哈夫曼树及哈夫曼编码;⑷设字符集及频度如下表:

字符空格 A B C D E F G H I J K L M

频度 197 64 13 22 32 103 21 15 47 57 5 1 20 32

字符 N O P Q R S T U V W X Y Z

频度 57 63 1 15 48 16 80 23 8 18 1 51 1

二需求分析

(1)设计哈夫曼树。具体构造方法如下:以字符集(空格 A B C D E F G H I J K N O P Q R S T U V W X Y Z L M)作为叶子结点。以各字母出现的次数即频度(197 64 13 22 32 103 21 15 47 57 5 1 20 32 57 63 1 15 48 16 80 23 8 18 1 51 1)作为叶子结点的权值构造一棵哈夫曼树。

(2)设计哈哈夫曼。按照构造出来的哈夫曼树,规定哈夫曼树的左分支为0,右分支为1,则从根结点到每个叶子结点所经过的分支对应的0和1 组成的序列便为该结点对应字符的哈夫曼编码。

三概要设计

3.1模块设计

本程序包含3个模块:主程序模块,哈夫曼编码模块,和选择模块。其调用关系如下图所示。

3.2系统子程序即功能设计

本程序共设置2个子程序,各子程序的函数名及各功能说明如

相关文档
最新文档