课 程 设 计 报
课程名称 数据结构 课题名称 哈夫曼编码与译码
专 业 通信工程 班 级 通信0902 学 号 200903020228 姓 名 肖俊 指导教师 田娟秀、李杰君、张鏖烽
2011年 07 月 01日
告
湖南工程学院 课 程 设 计 任 务 书
课程名称 数据结构 课 题 哈夫曼编码与译码
专业班级 通信0902 学生姓名 肖俊 学 号 200903020228 指导老师 田娟秀、李杰君、张鏖烽 审 批
任务书下达日期 2011 年 06 月 27 日
任务完成日期 2011 年 07 月 01 日
1设计内容与设计要求
1.1设计内容
课题五:对电文中的字符串编码和译码
Huffman编码是一种最优变长码,即带权路径最小。这种编码有很强的应用背景,是数据压缩中的一个重要理论依据。对输入的一串文字符号实现Huffman编码,再对Huffman编码生成的代码串进行译码,输出电文字符串。
要求完成以下功能:
a) 针对给定的字符串,建立Huffman树。 b) 生成Huffman编码。 c) 对编码文件译码。
1.2 选题方案:
所选题目根据学号确定,学号模6加1,即(学号%6+1)。如你的学号为9,则所选题目号为:9%6+1=(题目4)。注意,所有的课题都要求用图形方式演示步骤和结果。有兴趣的同学可以自己针对数据结构课程中所讲算法来设计一个演示过程的算法。
1.3设计要求:
1.3.1 课程设计报告规范 (1)需求分析
a.程序的功能。 b.输入输出的要求。 (2)概要设计
a.程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。
b.课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。 (3)详细设计
a.采用C语言定义相关的数据类型。
b.写出各模块的类C码算法。
c.画出各函数的调用关系图、主要函数的流程图。 (4)调试分析以及设计体会
a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。
b.程序调试中遇到的问题以及解决问题的方法。 c.课程设计过程经验教训、心得体会。 (5)使用说明
用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。 (6)书写格式
a.设计报告要求用A4纸打印成册:
b.一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
(7)附录
源程序清单(带注释)
1.3.2 考核方式
指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:
(1)平时出勤 (占10%)
(2)系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%) (3)程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%) (4)设计报告(占30%)
注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。 (5)独立完成情况(占10%)。
1.3.3 课程验收要求 (1)运行所设计的系统。 (2)回答有关问题。 (3)提交课程设计报告。
(4)提交软盘(源程序、设计报告文档)。
(5)依内容的创新程度,完善程序情况及对程序讲解情况打分。
2 进度安排
第 19 周:星期一 8:00——12:00 上课
星期一 14:30——18:30 上机 星期二 14:30——18:30 上机
星期四 8:00——12:00 上机
附:
课程设计报告装订顺序:封面、任务书、目录、正文、评分表、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。 正文总字数要求在4500字以上(不含程序原代码)。