数据结构实验报告haffman编码与译码

数据结构实验报告haffman编码与译码

ID:22290713

大小:85.61 KB

页数:6页

时间:2018-10-28

数据结构实验报告haffman编码与译码_第1页
数据结构实验报告haffman编码与译码_第2页
数据结构实验报告haffman编码与译码_第3页
数据结构实验报告haffman编码与译码_第4页
数据结构实验报告haffman编码与译码_第5页
资源描述:

《数据结构实验报告haffman编码与译码》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验报告2013学年第一学期任课老师:课程名称数据结构班级学号姓名实验名称实验二Haffman编码与译码实验时间实验环境VisualC++6.0实验目的和内容要求实验二Huffman编码与译码1.实验目的用C/C++,Java程序实现课本中的有关算法,以达到对算法熟练的目的。2.实验内容输入若干个权,建立Huffman树,并进行Huffman编码与译码实验过程记录(学生写出实验步骤及中间的结果与现象,在实验中做了什么,怎么做,发生的现象和屮间结果)哈夫曼树又称最优树,是一类带权路径长度最短的树,在开始写代码之前,先弄清几个步骤,先建

2、立一个哈夫曼树。#includeusingnamespacestd;typedefstruct{chara;intweight;intparent;intlchild;intrchild;}IITNode,*IIuffman_Tree;在完成哈夫曼树的过程中注意题目的要求来实现功能。存放n个字符的权值(均〉0),构造哈夫曼树HT,并求出n个字符的哈夫曼编码。intHuffmanCoding(HuffmanTree&HT,intn){_intm=2氺n-1;HT=(HuffmanTree)malloc((m+1)*

3、sizeof(HTNode));for(intk=l;k<=n;k++){coiit〈〈"请输入一个字符:〃;cin〉〉HT[k].a;C0Ut<<"请输入这个字符的权重cin〉〉HT[k]•weight;HT[k].parent二-1;IIT[k].rchild=-l;HT[k].lchild=-l;}for(intkl=n+l;kl<=m;kl++){llT[kl].a=0;HT[kl].weight=0;HT[kl].parent=-l;HT[kl].rchild=-l;HT[kl].lchild=-l;}for(intk2=

4、n+l;k2<=m;k2++){intml,m2;ml=m2=0x7fff;//最小的权重inti=0;intj=0;//指向最小权重的位置for(intp=l;p

5、ht+HT[j].weight;HT[k2].lchild^i;HT[k2].rchild=j;}intb[5][5];Cout〈〈"输出的哈弗曼编码为:"〈〈endl;for(intk3=l;k3<=5;k3++)intf=k3;intc=f;ints=0;f=HT[k3].parent;while(f!=-l){if(HT[f].lchild==c){b[k3][s]=0;}elseb[k3][s]=l;s++;c=f;f=HT[f].parent;}cout〈〈HT[k3].a〈〈〃:";for(intj=s-l;j>=0;j

6、—){cout<>n;IIuffmanCoding(ht,n);system("PAUSE”);return0;}然后在主函数中调用哈夫曼编码函数,设定简单的输入信息的函数即可完成程序。实验结果分析与总结1、程序运行结果(请提供所完成的各道题运行结果界面截图):型冃主冃主冃主冃主冃主冃主冃主冃主冃主目输-F

7、-P11mll11mll11mll11mll11mll+1—:>权权权权曰B只:a的:b的:c的:d的:e的码iiuiuismm瓦人人人人人人人人人人—A,5I选I选I选I选I选哈njAlAlAlAlAlAlAlAlAu的.IH〈I

8、^4-

9、±-

10、0n为大于2的0001111续继键意0-ft-01按:主冃iTK2、在实验过程屮遇到的问题与解决方法:问题存在于对于从叶子到根的逆向求编码,此处思路有一些混乱,但大致理解了,经过诸多调试还是完成了基本思路。唯一的遗憾是在对于储存编码的动态二维数组的处理上,用变量定义二维数组以此达到通过输

11、入来控制数组大小的思路,在实现上似乎出现了版本fu]题,之前运行时没有M题,截图时却提示出错,很明显要解决只能通过动态分配來达到。程序中实现时用了赋值來完成。3、实验过程中的发现与收获,未解决或需进一步解决的问题:实验屮体会到了非线性

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。