西安郵電學院数据结构课程设计报告题目1:哈夫曼编码/译码器题目2:学生信息管理系统系部名称:通信工程系专业名称:通信工程班级:****学号:*****学生姓名:****指导教师:*****
时间:2009年12月16日至2009年12月25日题目1
哈夫曼编码/译码器一、课程设计目的通过对哈夫曼编码/译码器的实现,熟悉了解Huffman树的创建过程以及存储结构,对Huffman编码/译码过程及原则有了更深层次的认识,锻炼了动手能力,使知识更好的学以致用,为解决数据压缩问题提供方法
二、课程设计内容通过统计文件中各字符的出现频率,建立Huffman树,再通过建立的已经Huffman的树,对文件中各字符进行编码,将结果存入新的文件中,然后从文件中读取Huffman编码,进行解码,结果存入新的文件中,并与源文件进行比较
三、需求分析1.统计字符频率:存文件中读入字符,并对各字符出现频率进行统计;2.建立Huffman树:将各字符出现的频率作为权值,建立Huffman树;3.Huffman编码:通过已经建立的Huffman树,对个各字符进行编码,并存入新的文件中;4
译码:读取存放Huffman编码的文件,对文件中编码进行译码,把译码结果存入新的文件中;5
结果验证:将译码结果与原文件内容进行比较;四、概要设计1
系统结构图(功能模块图)
2.功能模块说明1:统计字符频率:定义结构体typedefstructstr{chardata;charnum;}str;其中data域存放字符名称,num域存放字符出现频率,读取文件ywq1
txt,通过循环比较将结果赋入S2[128]中;2:创建Huffman树:定义结构体typedefstruct{chardata;intweight;intparent;intlchild;intrchild;}HTNode,HuffmanT