哈夫曼编码报告

上传人:汽*** 文档编号:509099725 上传时间:2022-08-04 格式:DOCX 页数:4 大小:20.94KB
返回 下载 相关 举报
哈夫曼编码报告_第1页
第1页 / 共4页
哈夫曼编码报告_第2页
第2页 / 共4页
哈夫曼编码报告_第3页
第3页 / 共4页
哈夫曼编码报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《哈夫曼编码报告》由会员分享,可在线阅读,更多相关《哈夫曼编码报告(4页珍藏版)》请在金锄头文库上搜索。

1、实验项目:哈夫曼编码T问题描述:利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本;但是,这要求 在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码解码;对于双工信道即 可以双向传输信息的信道,每端都需要一个完整的编/译码系统;试为这样的信息收发站设计一个哈夫曼 编/译码系统;2. 个完整的系统应具有以下功能:1初始化Initialzation;读入字符及每个字符的权值,建立哈夫曼树HuffTree;2编码EnCoding;用已建好的哈夫曼树,对输入的文本进行编码形成报文,将报文显示出来;3译码Decoding ;利用已建好的哈夫曼树,对输入的代

2、码进行解码形成原文,并将 结果显示;4输出Output:输出出现的字符以及各字符出现的频度或概率;输出各个字符的 编码,输出代码译出的原文;3. 实验目的:理解哈夫曼树的特征及其应用;在对哈夫曼树进行理解的基础上,构造哈夫曼树, 并用构造的哈夫曼树进行编码和译码;通过该实验,使学生对数据结构的应用有更深 层次的理解;4-实验条件:学院提供公共机房,1台/学生微型计算机;includeincludedefine MAXWORD 100typedef struct unsigned int weight;char data;unsigned int parent,llchild,rrchild;H

3、TNode,HuffmanTree; arent=0; p.llchild=0;p.rrchild=0;forp=HT+1,i=0;in;+i,+p p.data=stri;p.weight=si;for;i=m;+i,+pp.parent=0;fori=n+1;i=m;+i arent=HTs2.parent=i;HTi.llchild=s1;HTi.rrchild=s2;HTi.weight=HTs1.weight+HTs2.weight;HC=HuffmanCodemallocn+1sizeofchar;arent;f=0;c=f,f=HTf.parent ifHTf.llchild=c

4、cd-start=0;elsecd-start=1;HCi=charmallocn-startsizeofchar;strcpyHCi,&cdstart; eightk&tj.parent=0k=tj.weight,flag=j;tflag.parent=1;return flag;void CreatreeBT &p,char c ata;putsHCi;void TranHuffmanTree HT,int n lchild;elsei=HTi.rrchild;ifHTi.llchild=0printf%c,HTi.data;i=2n-1; j+;printfn;void TTranCha

5、rHuffmanTree HT,HuffmanCode HC,int nchar ss50;int i,j; ata=ssi&j=nj+;printf%s,HCj;i+;printfn;6.实验结果与总结:总结:在实现哈夫曼树编码的过程中,首先构建哈夫曼树,并用动态分配数组存储,也 用动态分配数组存储哈夫曼编码表;程序书上虽然有一部分可借鉴的代码,自己只需要编 写几个函数即可,但在编写程序时也遇到一些问题,开始统计字符串中出现的各种字符及 其次数时,将字母存放数组中,但是考虑到字母出现的不同,完全初始化再统计其出现的 个数,不仅占用空间并且时间复杂度高;后来采用二叉树统计出现的字母及个数,实现了 输入字母种类的灵活性;通过此次实验,明白了了解数据存储的具体方式的重要性,在这 次实验中要实现两个互译码程序 ,就需要对数据的存储了解,编写时就容易了然于心;总 的来说,数据结构实验对我们的编程能力还是有很大的帮助,锻炼我们的逻辑思维、使我 们更熟练地使用c语言编程、锻炼我们处理异常的能力;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号