- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验三基于哈夫曼编码的通信系统
《数据结构》课程实验
实 验 报 告
题目: 基于哈弗曼编码的通信系统的设计与实现
专业: 计算机科学与技术专业
班级: 计141班
姓名: 范浩玲 陈娟 孙妍 王文诗 吕惠擎 孙盼
完成日期: 2015年12月25日
实验三 基于哈夫曼编码的通信系统的设计与实现
试验内容
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传输数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站设计一个基于哈夫曼编码的通信系统.
一个完整的系统应具有以下功能:
1)初始化处理:建立通信系统
(1)建立有100句中文的信息集合,每个句子称为一条信息。
(2)输入编码参数:
① 从终端输入编码字符集大小n,字符编码长度m(设n为4,m为8);
② 从终端输入编码字符(设为A,B,C,D);
(3)生成每条信息的字符编码,构造字符编码集合;
(4)计算每个字符在字符编码集合中出现的概率;
(5)根据字符概率构造哈夫曼树,求出每个字符的二进制编码。
2)发送端信息编码
(1)用户从信息集合中选择一条信息,找到该信息对应的字符编码;
(2)根据该信息的字符编码,哈夫曼树求出的每个字符的二进制编码,构造出该信息的二进制编码,记录该二进制编码。(由于是软件模拟,没有发送设备,发送端的编码工作完成)。
3)接受端信息译码
(1)根据得到的信息的二进制编码,利用哈夫曼树求出的每个字符的二进制编码,还原出信息的字符编码;
(2)根据信息的字符编码,找到对应的信息。
*实现提示
(1)本试验涉及到通讯学科的编码理论和信息学科的数据压缩技术。
(2)根据参数生成的通信系统的所有信息的有效存储问题。
(3)信息字符编码可参考随机数的方式生成,且要求保持唯一性。
试验目的
(1)掌握二叉树的存储结构及其相关操作。
(2)掌握构造哈夫曼树的基本思想,及其编码/译码过程。
三、流程图
源程序代码
#includeiostream
#includecstdlib
#includectime
#includestring
using namespace std;
const int n=4;//叶子节点个数
const int MAXVALUE = 9999;
int m,p; //编码参数
string l;
int size;
//构造哈夫曼树结点
typedef struct
{
int weight;//权值
int parent;//父节点
int lchild;//左子树
int rchild;//右子树
char word;//编码字符
}HNodeType;
//构造哈夫曼编码数组
typedef struct
{
HNodeType HFMTree[2*n-1];//结点数
int bit[n];
int start;
}HCodeType;
HCodeType HT;
HCodeType HFMCode[n];
string message[10]={ {雨纷纷},{旧故里},{草木深},
{我听闻},{你始终},{一个人},{石板上},{回荡的}, {是在等},{叶良辰}
};
string psw[10];//存储编码
//对信息进行编码
void CreatCode(HCodeType HT,int n) {
int i,j,k;
char ch;//存储编码的字符集
//权重初始化
for(i=0;i2*n-1;i++)
{
HT.HFMTree[i].weight=0;
}
cout请输入编码字符集的大小: m= ; //字符集大小是m
cinm;
cout请输入编码长度大小:p = ; //编码长度大小p
cinp;
cout请输入编码字符:endl;
for(i = 0;in;i++)
{
cinHT.HFMTree[i].word;
}
//对汉字信息进行编码
srand(time(NULL));
cout************
您可能关注的文档
- Burberry dialogue will deepen China Tencent digital marketing cooperation(巴宝莉对话将深化中国腾讯数码营销合作).doc
- Bureau of Animal Husbandry and Fisheries Nehe visited quarantine stations(畜牧业和渔业Nehe访问隔离).doc
- Burner college English teaching reform implementation effectiveness and Analysis(燃烧器大学英语教学改革实施效果和分析).doc
- Bus company year-end summary of the work in 2012 Pham Van(公交公司的年终总结工作2012年Pham范).doc
- Bus workers Speeches(公共汽车工人的演讲).doc
- Bupivacaine spinal anesthesia for cesarean section in the appropriate dose in the observation(Bupivacaine脊髓麻醉剖腹产在适当剂量的观察).doc
- Business activities on the improvement of inventory accounting policy(业务活动的改进存货会计政策).doc
- Business Administration majors internship report Pham Van(工商管理专业实习报告(Pham范).doc
- Business administration problems and innovative Countermeasures(企业管理问题和创新的对策).doc
- Business Administration Internship report(企业管理实习报告).doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)