数据结构试验报告---赫夫曼树

数据结构试验报告---赫夫曼树

ID:33749254

大小:54.52 KB

页数:4页

时间:2019-02-28

数据结构试验报告---赫夫曼树_第1页
数据结构试验报告---赫夫曼树_第2页
数据结构试验报告---赫夫曼树_第3页
数据结构试验报告---赫夫曼树_第4页
资源描述:

《数据结构试验报告---赫夫曼树》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、赫夫曼树:代码:#include#includeusingnamespacestd;#include#include#include#includetypedefstruct{unsignedintweight;unsignedintparent,lchild,rchild;}HTNode,*HuffmanTree;typedefchar**HuffmanCode;intmini(HuffmanTreet,inti){intj,flag;unsi

2、gnedintk=UINT_MAX;for(j=1;jv=i;j++)if(t[j].weight*s2)*s1=*s2;*s2=j;}}voidHuffmanCoding(HuffmanTree*HT,HuffmanCode*HC,int*w,intn){i

3、ntm,i,s1,s2,start;unsignedc,f;HuffmanTreep;char*cd;if(n<=1)return;m=2*n-1;*HT=(HuffmanTree)malloc((m4-1)*sizeof(HTNode));for(p=*HT+1,i=1;iv=n;++i,++p,++w){(*p).weight=*w;(*p).parent=O;(*p).lchild=O;(*p).rchild=O;}for(;iv=m;++i,++p)(*p).parent=O;for(i=n+1;iv=m;++i){select(*HT,i-1,&s1,

4、&s2);(*HT)[s1].parent=(*HT)[s2].parent=i;(*HT)[i].lchild=s1;(*HT)[i].rchild=s2;(*HT)[i].weight=(*HT)[s1].weight+(*HT)[s2].weight;}*HC=(HuffmanCode)malloc((n4-1)*sizeof(char*));cd=(char*)malloc(n*sizeof(char));cd[n-1]='';for(i=1;iv=n;i++){start=n-1;for(c=i,t=(*HT)[i].parent;f!=0;c=f

5、,f=(*HT)[f].parent)if((*HT)[f].lchild==c)cd[—start]=*O*;elsecd[—start]='r;(*HC)[i]=(char*)malloc((n-start)*sizeof(char));strcpy((*HC)[i],&cd[start]);}free(cd);}voidmain()〃主程序{HuffmanTreeHT;HuffmanCodeHC;inti,j=O,w[27]={186,64,13,22,32,103,21,15,47,57,1,5,32,20,57,63,15,1,48,51,80,23,

6、8,18,1,16,1};HuffmanCoding(&HT,&HC,w,27);printf(”对应的赫夫曼编码:”);charc='a';putchar(*,);cout«,,«HC[1]«,'«'for(i=2;iv=27;i++){putchar(c+4-);cout«f,«HC[i]«,*«•if(j%4==0)cout«endl;}printf(H输入要翻译的句子:”);chars[100];gets(s);puts(s);while(s[j]){if(s[j]==*•)cout«HC[1];elsecout«HC[s[j]-,a,+2];j

7、++;}cout«endl;}运行结果:对应的赫夫曼编码:110a1010b100100c00010d10110e010f111110g100101h0000■10110j1111011100k11110110110111nmilln0111o1000p100110q11110111011*0010s0011t1110u00011v1111010w111100x1111011110y100111z1111011111输△要翻译的®子:thisprogramisnyfavoritethisprogramisnyfavorite1110000001100011110

8、100110001010

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

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

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