2011—2012 学年第一学期
专业: 信息管理与信息系统 学号: 1021024016 姓名: 万永馨
课程设计名称: 数据结构课程设计
设计题目: 哈夫曼编码与译码的实现
完成期限:自 2012 年 2 月 20 日至 2012 年 3 月 2
日共 2 周
设计依据、要求及主要内容(可另加附页) :
该设计题目将按以下要求完成:
哈夫曼编码与译码是信息传输中应用的经典算法, 运用 C或 VC++结合数据结构等基础知识, 按
以下要求编程实现各种进制的转换。
任务要求: 1)阐述设计思想 , 画出流程图 ;2 )需要对哈夫曼编码 / 译码的相关原理有所了解,设计数
据结构,建立必要的信息数据文件(最好存储成外部文件),并分析完成用户所需的基本操作功能;
3)实现给定信息的编码和译码功能; 4)应有较好的界面设计,说明程序测试方法; 5)按照格式要
求完成课程设计说明书。
设计要求 :
1)问题分析和任务定义: 根据设计题目的要求, 充分地分析和理解问题, 明确问题要求做什么?
(而不是怎么做?)限制条件是什么?确定问题的输入数据集合。
2)逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的
原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定
义(包括数据结构的描述和每个基本操作的功能说明) ,各个主要模块的算法,并画出模块之间的调
用关系图;
3)详细设计:定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统
功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基
本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作做出进一步的求精,
写出数据存储结构的类型定义,写出函数形式的算法框架;
4)程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,
使程序中逻辑概念清楚;
5)程序调试与测试:能够熟练掌握调试工具的各种功能,设计测试数据确保程序正确。调试正
确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;
6)结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算
法的时间、空间复杂性分析;
7)编写课程设计报告;
以上要求前三个阶段的任务完成后,将设计说明书的草稿交指导老师面审,审查合格方可进入
后续阶段的工作。设计工作结束,经指导老师验收合格后将设计说明书装订,并答辩。
指导教师(签字): 教研室主任(签字):