数据结构课程设计——赫夫曼编码.doc





《数据结构课程设计——赫夫曼编码.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计——赫夫曼编码.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计 报 告课程设计名称:数据结构课程设计课程设计题目:哈夫曼编码问题 院(系):专 业:班 级:学 号:姓 名:指导教师:目 录1课程设计介绍11.1 课程设计内容与要求11.2 课程设计分析与描述12 系统功能模块结构图及功能介绍22.1 系统功能模块结构图22.2 模块功能介绍32.2.1 统计频数32.2.2 建树32.2.3 生成编码33 使用的数据结构的描述43.1 栈43.2 二叉树54 主要函数的描述及流程图64.1 creatHuffamnTree()(创建哈夫曼树)64.2 huffmanCode()(生成哈夫曼编码)75 程序的测试与运行8参考文献10附 录(关
2、键部分程序清单)111 课程设计介绍1.1 课程设计内容与要求利用哈夫曼编码来解决由A、B、C、D四个字符组成的字符串子啊压缩时产生的译码二义性问题,对字符串进行编码时,其中任一字符的编码都不能是其他字符的前缀。即要求编码为前缀编码。实现:1:创建哈夫曼树的结构;2:生成哈夫曼编码;要求:1:使用C语言或其他面向对象语言实现;2:按要求写出课程设计报告;1.2 课程设计分析与描述根据问题的要求,我们需要做以下的工作:1 录入一字符串,统计A、B、C、D四个字符在字符串中出现的频数,把它当作字符的权值;2 根据四个字符各自的权值建立哈夫曼树;3 根据已建立的哈夫曼树生成每个字符的哈夫曼编码;2
3、系统功能模块结构图及功能介绍2.1 系统功能模块结构图本系统含有统计频数、建树、生成编码四个模块,各模块之间的关系如下图1所示:统计频数建树生成编码 图 1:模块图2.2 模块功能介绍2.2.1 统计频数 在给定的字符串中统计A、B、C、D四个字符在其中出现的频数,并且把它作为该字符的权值;2.2.2 建树 根据各个字符的权值根据哈夫曼算法建立哈夫曼树;2.2.3 生成编码 根据建立的哈夫曼树,生成哈夫曼编码;3 使用的数据结构的描述3.1 栈栈的顺序存储表示: typedef structSElemType * base;/栈底SElemType * top;/栈顶int stacksize
4、;/栈的容量SqStack;栈的用法说明: 栈又称为后进先出的线性表(LIFO结构),特点如下图2所示: 出栈 进栈 栈顶 栈底 图 2:栈的示意图3.2 二叉树 二叉树的二叉链表存储表示:typedef struct BiTNode int data;/数据域 struct BiTNode * lchild,* rchild;/左、右孩子BiTNode,* BiTree;二叉树的用法说明: 二叉树是一种树型结构,特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能颠倒。如下图3:BACDE图 3:二叉树的示意图4 主要函数的描述及流程图4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 赫夫曼 编码

限制150内