下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验项目:哈夫曼编码1.问题描述:禾U用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这 要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(解码)。对于 双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站设计一个哈夫曼编/译码系统。2 个完整的系统应具有以下功能:1) 初始化(Initialzation)。读入字符及每个字符的权值,建立哈夫曼树HuffTree ;2)编码(EnCoding)。用已建好的哈夫曼树,对输入的文本进行编码形成报文,将报文显示出来;3)译码(Decoding )。利
2、用已建好的哈夫曼树,对输入的代码进行解码形成原文,并将结果显示;4)输出(Output ):输出出现的字符以及各字符出现的频度(或概率);输出各个字符的编码,输出代码译出的原文;3. 实验目的:理解哈夫曼树的特征及其应用; 在对哈夫曼树进行理解的基础上,构造哈夫曼树,并用构造的哈夫曼树进行编码和译码;通过该实验,使学生对数据结构的应用有更深层次的理解。4. 实验条件:学院提供公共机房,1台/学生微型计算机。5. 实验步骤(含实验代码)第1次:完成程序的主框架设计,进行调试,验证其正确性;第2次:详细设计,进行调试,验证其正确性;第3次:进行整体调试,运行程序,对运行结果进行分析,完成实验报告。
3、#include#include#include#define MAXWORD 100typedef struct unsigned int weight;char data; unsigned int parent,llchild,rrchild;HTNode,*HuffmanTree; arent=0; (*p).llchild=0;(*p).rrchild=0; for(p=HT+1,i=0;in;+i,+p) (*p).data=stri;(*p).weight=si;for(;i=m;+i,+p) (*p).parent=0;for(i=n+1;i=m;+i) arent=HTs2.
4、parent=i; HTi.llchild=s1;HTi.rrchild=s2; HTi.weight=HTs1.weight+HTs2.weight;HC=(HuffmanCode)malloc(n+1)*sizeof(char*);arent;f!=0;c=f,f=HTf.parent) if(HTf.llchild=c) cd-start=0;elsecd-start=1; HCi=(char*)malloc(n-start)*sizeof(char); strcpy(HCi,&cdstart); eightk&tj.parent=0) k=tj.weight,flag=j;tflag.
5、parent=1;return flag;void Creatree(BT &p,char c)ata);puts(HCi);void Tran(HuffmanTree HT,int n) lchild;elsei=HTi.rrchild;if(HTi.llchild=0) printf(%c,HTi.data);i=2*n-1; j+; printf(n);void TTranChar(HuffmanTree HT,HuffmanCode HC,int n)char ss50;int i,j; ata!=ssi)&(j=n)j+;printf(%s,HCj);i+;printf(n);6. 实验结果与总结:总结: 在实现哈夫曼树编码的过程中,首先构建哈夫曼树,并用动态分配数组存储, 也用动态分配数组存储哈夫曼编码表。程序书上虽然有一部分可借鉴的代码,自己只需 要编写几个函数即可,但在编写程序时也遇到一些问题,开始统计字符串中出现的各种 字符及其次数时,将字母存放数组中,但是考虑到字母出现的不同,完全初始化再统计 其出现的个数,不仅占用空间并且时间复杂度高。后来采用二叉树统计出现的字母及个 数,实现了输入字母种类的灵活性。通过此次实验,明白了了解数据存储的具体方式的 重要性,在这次实验中要实现两个互译码程序,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年培训场地租赁合同
- 2024年地理信息数据采集与处理合同
- 2024年国际货运代理及报关服务合同
- 2024年光伏发电项目epc建设合同
- 2024年土地使用权转让分期付款合同
- 2024年城市基础设施建设项目融资贷款合同
- 2024年企业间债务重组与收购合同
- 2024年城市绿化设计托管合同
- 2024-2030年中国光纤数据连接器行业销售状况与前景动态预测报告
- 2024-2030年中国保洁车产业未来发展趋势及投资策略分析报告
- 《行政许可法培训》课件
- 颅内占位性的病变护理查房课件
- 山东省烟台市芝罘区(五四制)2023-2024学年九年级上学期期末考试物理试题
- 文松宋晓峰小品《非诚不找》奇葩男女来相亲金句不断台词剧本完整版
- DB14∕T 1851-2019 中华鼢鼠防治技术规程
- 2024年风电铸件行业市场研究报告
- 高磷血症患者护理查房课件
- 中耳胆脂瘤的护理查房
- 五种增强免疫力的方法
- 财务科廉洁风险点及防控措施【15篇】
- 六年级上册道德与法治《期中考试试卷》含答案解析
评论
0/150
提交评论