1 / 12
文档名称:

课程设计报告.doc

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

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

分享

预览

课程设计报告.doc

上传人:xunlai783 2018/12/1 文件大小:231 KB

下载得到文件列表

课程设计报告.doc

相关文档

文档介绍

文档介绍:编写目的
利用哈弗曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码。对于双工信道,每端都需要一个完整的编/译码系统。因此编写此系统的目的即为这样的信息收发站写一个哈弗曼码的编/译码系统。
需求概述
设计一个哈弗曼编/译码系统,使之提供以下功能:
哈弗曼树的创建过程
哈弗曼编码的实现
哈弗曼译码的实现
需求说明
哈弗曼树的内容包括待编码的字符及各字符的权值大小。
编码需从叶子结点出发走一条从叶子到根的路径(个人****惯)。
译码需从根出发走一条从根到叶子的路径。
第二部分系统分析
编写目的
用户在了解了编写此系统的目的后,可以进一步的了解我实现此系统的大致过程,从而更好的运行哈弗曼编/译码系统。
总体设计
功能划分
该系统可以按功能进行模块划分,如下图:
数据结构
本系统主要的数据结构就是哈弗曼树的信息内容,包含待编码的字符及各字符的权值大小,在处理过程中各项可以作为哈弗曼树的不同属性来进行处理。
第三部分程序流程图
系统的执行应从功能菜单开始,一句用户的选择来进行后续的处理,直到用户选择退出系统为止,系统的流程图如下:
主程序流程图
(2)建立哈弗曼树流程图

(3)编码流程图

译码流程图
第四部分代码
//
#ifndef __HUFFMAN__H
#define __HUFFMAN__H
typedef char HElemType;
typedef struct
{
HElemType data; //数据字符
unsigned int weight; //权重
unsigned int parent,lch,rch;
}HTNode,*HuffmanTree;
Typedef char **HuffmanCode; //存放哈夫曼编码
void CreateHuffmanTree(HuffmanTree *HT,unsigned int *w,int n,HElemType *num); //建哈夫曼树
void HuffmanCoding(HuffmanTree *HT,HuffmanCode *HC,unsigned int *w,int n); //哈夫曼编码
void HuffmanDeCoding(HuffmanTree *HT,HuffmanCode *HC,int n); //哈夫曼译码
void Display(HuffmanTree HT,HuffmanCode HC,unsigned int *w,int n); //查看编译码信息
void menu(); //菜单
#endif
//
#include<>
#include<>
#include<>
#include""
void Select(HuffmanTree *HT,int t,int &s1,int &s2) //在n个结点中选择两个权值最小的结点序号,其中s1最小,s2次小
{
int i;
unsigned int m,n;
m=n=10000;
for(i=1;i<=t;i++)
{
if((*HT)[i].parent==0 && ((*HT)[i].weight<m || (*HT)[i].weight<n))
{
if(m<n)
{
n = (*HT)[i].weight;
s2 = i;
}
else
{
m = (*HT)[i].weight;
s1 = i;
}
}
}
if(s1>s2)
{
i=s1;
s1=s2;
s2=i;
}
}
void CreateHuffmanTree(HuffmanTree *HT,unsigned int *w,int n,HElemType *num)
{
int i,m;
int s1,s2;
HuffmanTree p;
if(n<=1)
return;
m=2*n-1;
*HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode));

for(p=*HT+1,i=1;i<=n;++i,++p,++w,++num) //进行初始化
{
(*p).weight=*w;
(*p).parent=0;
(*p).lch=0;
(*p).rch=0;
(*p).

最近更新

科普知识竞赛题库100道及参考答案(达标题) 18页

科普知识竞赛题库100道(夺分金卷) 19页

科普知识竞赛题库100道(综合卷) 18页

职业教育法考试题库含答案(黄金题型) 26页

职业教育法考试题库附完整答案(典优) 26页

五星级酒店功能区与面积配置(推荐保存) 23页

高考英语听力技巧(强大整理) (3) 5页

高考英语单选真题汇总p 16页

2024年足球知识题库【b卷】 12页

中国历史文化知识竞赛100题附答案(预热题) 14页

心律失常的诊断及治疗进展课件 214页

中国历史文化知识竞赛100题及参考答案(新) 14页

中国历史文化知识竞赛100题有答案 14页

县乡教师选调进城考试《教育心理学》题库附参.. 122页

县乡教师选调考试《教师职业道德》题库含完整.. 42页

县乡教师选调进城考试《教育法律法规》题库及.. 132页

县乡教师选调进城考试《教育心理学》题库含答.. 120页

县乡教师选调进城考试《教育法律法规》题库及.. 130页

县乡教师选调进城考试《教育法律法规》题库带.. 128页

2024年电力自动化项目投资申请报告代可行性研.. 61页

急性脑梗死教学优质公开课获奖课件 37页

2024年时政模拟试题及参考答案解析 48页

中国历史文化知识竞赛100题含完整答案(夺冠系.. 14页

万唯中考地理生物逆袭卷电子版 12页

药店企业组织机构设置框架图 1页

英语人教版八年级下册深层阅读课例研究报告(八.. 13页

CNC车间管理制度 6页

《初一下学期家长会》PPT课件 19页

研读文本,增强独立备课的能力 8页

某高速公路工程投标文件 68页