下载此文档

数据结构课程设计-哈夫曼树的应用.doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
计算机学院信息管理与信息系统专业
数据结构课程设计
题目: 哈夫曼树的应用
班级:
姓名:
学号:
同组人姓名:
起迄日期:
课程设计地点:
指导教师:
评阅意见:
成绩评定:
评阅人: 日期:
完成日期:
目录
1、设计目的 3
2、需求分析 3
3
输入/输出形式和输出值的范围 4
3、概要设计 4
4
4
4、详细设计 4
4
4
5
6
6
7
5、程序测试结果 15
6、总结 16
7、参考文献 16

数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。
在当今信息时代,信息技术己成为当代知识经济的核心技术。我们时刻都在和数据打交道。比如人们在外出工作时找最短路径,在银行查询存款、通过互联网查新闻、以及远程教育报名等,所有这些都在与数据发生关系。实际上,现实世界中的实体经过抽象以后,就可以成为计算机上所处理的数据。
数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学****数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:
了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
2、需求分析

锻炼我们的编码能力,真正理解数据结构的编码思想,并且锻炼我们的动手能力和成员间的配合,提高程序编写能力。
在信息传递时,希望长度能尽可能短,即采用最短码。赫夫曼编码的应用,就是采用这种有效的数据压缩技术可以节省数据文件的存储空间和计算机网络的传送时间。
输入/输出形式和输出值的范围
,加载不成功,提示出错信息,加载成功后,系统对其编码,并按照选择对各种相关信息存档


哈夫曼树用邻接矩阵作为存储结构,借助静态链表来实现遍历。

哈夫曼系统,函数间的关系如图所示:
头文件及原文件
文件的读写
哈夫曼的建立及编码
文件加密编码及写入文件
从文件中读取信息
将信息写进文件
构建哈夫曼树
建立哈夫曼编码
给文件信息加密编码
将已编码信息写进文件
将编码信息翻译及写入文件
将编码规则写进文件件
统计信息中各字符的出现次数
3-1哈夫曼编码问题中函数间的关系
4、详细设计

:
#define MAXVALUE 1000//定义最大权值
#define MAXBIT 100//定义哈夫曼树中叶子结点个数
typedef struct
{ char data;//字符值
int num;//某个值的字符出现的次数
}TotalNode; //统计结点,包括字符种类和出现次数
typedef struct
{
TotalNode tot[300];//统计结点数组
int num;//统计数组中含有的字符个数
}Total; //统计结构体,包括统计数组和字符种类数
typedef struct
{ char mes[300];//字符数组
int num;//总字符数
}Message; //信息结构体,包括字符数组和总字符数
typedef struct
{ int locked[500];//密码数组
int num;//密码总数

数据结构课程设计-哈夫曼树的应用 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人钻石文档库
  • 文件大小0 KB
  • 时间2013-07-09