1 / 26
文档名称:

哈弗曼编码数据结构课程设计报告.doc

格式:doc   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

哈弗曼编码数据结构课程设计报告.doc

上传人:策划大师 2011/11/13 文件大小:0 KB

下载得到文件列表

哈弗曼编码数据结构课程设计报告.doc

文档介绍

文档介绍:大学
课程设计(论文)
题目: 哈夫曼树应用
院(系): 信控学院
专业班级: 计算机
姓名:
学号:
指导教师:

2008年 9月 14 日
大学课程设计(论文)任务书
专业班级: 学生姓名:指导教师(签名)
一、课程设计(论文)题目
哈夫曼树应用:
应完成如下功能:初始化;编码;译码;印文件代码;印哈夫曼树。
二、本次课程设计(论文)应达到的目的
数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。
本题目要达到目的:熟练掌握哈夫曼树的实现以及应用。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
基本要求:
,以及n个字符和n个权值,(比如树)显示在终端上。
利用已经建好的哈夫曼树(如不在内存,),,,并输出结果,,每行50个代码。。
,,并输出结果。
四、应收集的资料及主要参考文献:
1. 数据结构与算法,科学出版社,;赵文静祁飞等编著
2. 数据结构-C++语言描述,西安交通大学出版社,,赵文静编著
++程序设计,电子工业出版社。[美]James Jack 著。
:数据结构与算法分析(C++版)[美]Clifford 著。
(文件的输入输出操作)。
五、审核批准意见
教研室主任(签字)
目录
设计目的……………………………… 4
问题描述……………………………… 4
需求分析……………………………… 4
概要设计……………………………… 4
详细设计……………………………… 7
测试分析……………………………… 12
使用说明……………………………… 20
总结……………………………… 20
参考资料……………………………… 22
《数据结构》课程设计
—哈夫曼树应用
设计目的
熟练掌握并应用哈夫曼树的建立及哈夫曼树编码译码的算法,与此同时同时熟练掌握数据结构知识。
问题描述
从终端输入所建立的哈夫曼树的字符个数n,以及n个字符和n个字符对应的权值,用此建立一棵哈夫曼树;用所建立的哈夫曼树将一段从终端输入的字符进行编码输出结果并保存;把保存好的哈夫曼编码进行译码并保存。
需求分析
从终端输入字符个数n以及n个字符和n个字符对应的权值,以此建立一颗哈夫曼树。
能够用所建立的哈夫曼树对一段相应的字符进行“0”“1”编码。
能够将该哈弗曼编码进行译码并输出相应字符。
概要设计
1、算法思想
用一维数组扫描存储一个存储着哈夫曼树的结点信息的文件,对数组进行操作建立哈夫曼树。用一维数组扫描存储一个存储着相应需要编码字符的文件,利用所建立的哈夫曼树,对数组操作进行编码。用一维数组扫描存储一个存储着相应编码字符的文件,利用所建立的哈夫曼树,对数组操作进行译码。
2、框架设计:
主函数模块:
void main(void)
{ 初始化:
while
{ 界面显示输出部分;
switch(choice)
{case ‘b’:
接受命令;
处理命令;
case ‘e’:
接受命令;
处理命令;
case ‘d’:
接受命令;
处理命令;
case ‘p’:
接受命令;
处理命令;
case ‘q’:
接受命令;
处理命令;
}
}
开始

定义各种变量
显示主菜单
选择
选‘q’:
退出程序
选‘p’:
打印编好的哈夫曼编码
选‘d’:
从文件读入需要译码的字符串并进行译码
选‘e’:
从文件读入需要编码的字符串并进行编码
选‘b’:
初始化哈夫曼树并建立哈夫曼树显示所建立好的哈夫曼树(以树的形式)
程序结束
图 1系统流程图
详细设计
1、系统的抽象数据类型的定义:
typed