1、 1 数据结构数据结构课程设计课程设计报告报告 题 目:赫夫曼编/译码器的实现 学生姓名: 学 号: 所在学院: 班 级: 指导教师: 职 称: 2010 年 6 月 25 日 2 XXXXXX 学院本科学生课程设计任务书学院本科学生课程设计任务书 题 目 哈夫曼编译码器 1、课程设计的目的 1) 使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、 存储结构和操 作实现算法,以及它们在程序中的使用方法。 2) 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。 3) 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 2、课程设
2、计的内容和要求(包括原始数据、技术要求、工作要求等) 问题描述:哈夫曼编译码器 基本要求: 1.初始化,键盘输入字符集大小 n,n 个字符和 n 个权植,建立哈夫曼树。 2.编码,利用建好的 huffman 树生成 huffman 编码; 3.输出编码; 4.译码功能; 5.字符和频度如下: 字符 空格 A B C D E F G H I J K L M N O P Q 频度 186 64 13 22 32 103 21 15 47 57 1 2 32 20 57 63 15 1 字符 R S T U V W X Y Z 频度 48 51 80 23 8 18 1 16 3、主要参考文献 1刘
3、大有等, 数据结构 (C 语言版) ,高等教育出版社 2严蔚敏等, 数据结构 (C 语言版) ,清华大学出版社 3William Ford,William Topp, Data Structure with C+清华大学出版社 4苏仕华等,数据结构课程设计,机械工业出版社 4、课程设计工作进度计划 第 1 天 完成方案设计与程序框图 第 2、3 天 编写程序代码 第 4 天 程序调试分析和结果 第 5 天 课程设计报告和总结 指导教师(签字) 日期 年 月 日 教研室意见: 年 月 日 学生(签字) : 接受任务时间: 2010年 6 月 25 日 3 摘要摘要 利用哈夫曼编码进行信息通讯可以
4、大大提高信道利用率,缩短信息传输时 间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编 码;在接收端将传来的数据进行译码(复原) 。对于双工信道(即可以双向传输 信息的信道) ,每端都需要一个完整的编/译码系统,试为这样的信息收发站写一 个哈夫曼编译码系统。 关键字:数据结构、哈夫曼编码 4 目录目录 第一章第一章. 序言序言 1 第二章问题分析与说明第二章问题分析与说明 1 一功能分析一功能分析 1 二问题描述与说明二问题描述与说明 . 1 第三章程序总体设计第三章程序总体设计 . 2 一设计思路及方案一设计思路及方案 . 2 二二. .设计的总体框架设计的总体框架 3
5、第四章第四章. .详细算法与设计详细算法与设计 . 5 一实现算法流程图一实现算法流程图 . 5 二哈夫曼编码的算法二哈夫曼编码的算法 6 三文件的编码和解码三文件的编码和解码 8 第五章第五章. .程序调试与运行结果程序调试与运行结果 . 8 第六章第六章. .课程设计总结课程设计总结 9 第七章第七章. .参考文献参考文献 . 10 第八章第八章. .附录附录 11 1 第一章第一章. 序言序言 目的:目的: 1、为了使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑 结构、存储结构和操作实现算法,以及它们在程序中的使用方法。 2、为了使学生掌握软件设计的基本内容和设计方法,并培养
6、学生进行规化 软件设计的能力。 3、为了使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程 序设计的基本能力。 意义意义: 通过数据结构课程设计,我掌握了赫夫曼编/译码器的实现所需要的各种知 识,了解到了哈夫曼程序设计的基本原理和知识,我相信在以后的学习当中我会 更加的喜欢计算机这门高新技术学科。 第二章问题分析与说明第二章问题分析与说明 一一功能分析功能分析 利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时 间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编 码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输 信息的信道),每端都需要一个完整的编译码系统。因此为这样的信息收发站 写一个哈夫曼码的编译码系统存在着相当大的必要。 相关知识:数据结构、哈夫曼编码译码器、程序设计格式等。 二问题描述与说明:二问题描述与说明: 1.数据结构