数据结构试验实验程序代码下载

数据结构试验实验程序代码下载

ID:30835098

大小:93.00 KB

页数:16页

时间:2019-01-03

数据结构试验实验程序代码下载_第1页
数据结构试验实验程序代码下载_第2页
数据结构试验实验程序代码下载_第3页
数据结构试验实验程序代码下载_第4页
数据结构试验实验程序代码下载_第5页
资源描述:

《数据结构试验实验程序代码下载》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第一个程序,未运行验证#include#inelude#inelude#include#defineletter#defineN2400#defineMAX100typedefstruct{unsignedintweight;unsignedintparentJchild^rchild;}HTNode;voidSelect(HTNode*HT,inti,int&si,int&s2){〃在HT[f・l]选择parent为0且weight最小的2个结点,序号分别为sl,s2intj;s2=0;for(j=l;j<=i;j

2、++)if(HT[j].parent==0){sl=j;break;}for(j=sl+l;j<=i;j++)if(HT[j].parent==O)if(HT[j].weight

3、HT[j].weight0),构造最优树HT//HC用于存放n个字符的编码。inti,si,s2,start;char*cd=0;HTNode*p=0;if(n<=

4、l)return;m=2*n-l;for(p=HT+l,i=l;i<=n;i++,p++){p->weight=w[i-l];p->parent=O;p->lchild=O;p->rchild=0;}for(;i<=m;i++,p++){p->weight=O;p->parent=O;p->lchild=O;p->rchild=O;}for(i=n+l;i<=m;i++)值传递的形参并不能用来改变实参的值Select(HT,i-l,sl,s2);//注意:〃在HT[l”・・,i・l]选择parent为0且weightl=J:小的2个结点,序号分别为sl,s2HT[sl].parent=i;HT

5、[s2].parent=i;HT[i].lchild=sl;HT[i].rchild=s2;HT[i].weight=HT[sl].weight+HT[s2].weight;}#ifdefletter//预编译〃无栈非递归遍历最优数,求最优编码intpl=m;intcdlen=O;cd=newchar[n];for(i=l;i<=m;i++)HT[i].weight=O;while(pl)if(HT[pl].weight==O)〃向左遍历HT[pl].weight=l;if(HT[pl].lchild!=O){pl=HT[pl]Jchild;cd[cdlen++]=tO,;}elseif(HT

6、[pl].rchild==O){〃对于最优树,这个条件可以去掉HC[pl]=newchar[cdlen+l];cd[cdlen]=,O,;strcpy(HC[pl],cd);}}elseif(HT[pl].weight==l){〃向右遍历HT[pl].weight=2;if(HT[pl].rchild!=O){pl=HT[pl].rchild;cd[cdlen++]=,l,;}}else{〃从结点向上退HT[pl].weight=O;pl=HT[pl]>parent;cdlen-;}}delete[Jed;cout«n无栈非递归求霍夫曼编码n«endl;#else〃从叶子到根逆向求每个字符的

7、最优编码cd=newchar[n];cd[n-l]=,O,;for(i=l;i<=n;i++)start=n-l;for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent)if(HT[f].lchild==c)cd[-start]=,O,;elsecd[-start]=,r;//^J了区分权值比较小的2个字符HC[il=newchar[n-start];for(j=start;j

8、;}#endifintmain(){inti;HTNodeHT[2*N];char*HC[N+1];intw[N];〃每个符号对应的出现几率,根据它写出每个符号的编码srand(time(NULL));yrux二)turdKEUH.U丄KX5S%0QPOJUEUHlJJnqs.p%・Jsu-cd(++三+纟1")占診oHLHd启pouUEUmJJnH二+XVW%()PUEJ"二比二+N丄一比+H丄

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

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

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