欢迎来到天天文库
浏览记录
ID:56761131
大小:25.00 KB
页数:7页
时间:2020-07-07
《算法设计与分析实验报告贪心算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、算法设计与分析实验报告贪心算法班级:2013156学号:201315614姓名:张春阳哈夫曼编码代码#includefloatsmall1,small2;intflag1,flag2,count;typedefstructHuffmanTree{floatweight;intlchild,rchild,parent;}huffman;huffmanhuffmantree[100];voidCreatHuffmanTree(intn,intm){inti;voidselect();printf("请输
2、入%d个节点的权值:",n);for(i=0;i3、parent=count;huffmantree[count].weight=small1+small2;huffmantree[count].lchild=flag1;huffmantree[count].rchild=flag2;}}voidselect(){inti,a,b;floatstemp;intftemp;a=0;b=0;for(i=0;i4、g1=i;a=a+1;}elseif(b==0){small2=huffmantree[i].weight;flag2=i;b=b+1;}}if((a==1)&&(b==1))break;}if(small1>small2){stemp=small1;small1=small2;small2=stemp;ftemp=flag1;flag1=flag2;flag2=ftemp;}for(i=0;i5、=i))if(huffmantree[i].weightsmall2){stemp=small1;small1=small2;small2=stemp;ftemp=flag1;flag1=flag2;flag2=ftemp;}}}voidhuffmancode(intn){inta[100];intj,k,i,c;for(i=0;i6、arent!=-1){k=huffmantree[j].parent;if(huffmantree[k].lchild==j)a[c]=0;if(huffmantree[k].rchild==j)a[c]=1;c=c+1;j=k;}printf("节点%d的哈夫曼编码为:",i);for(c=c-1;c>-1;c--)printf("%d",a[c]);printf("");}}voidmain(){intn,m;printf("请输入一共有几个节点:");scanf("%d",&n);m=2*n-1;Creat7、HuffmanTree(n,m);huffmancode(n);}截图
3、parent=count;huffmantree[count].weight=small1+small2;huffmantree[count].lchild=flag1;huffmantree[count].rchild=flag2;}}voidselect(){inti,a,b;floatstemp;intftemp;a=0;b=0;for(i=0;i4、g1=i;a=a+1;}elseif(b==0){small2=huffmantree[i].weight;flag2=i;b=b+1;}}if((a==1)&&(b==1))break;}if(small1>small2){stemp=small1;small1=small2;small2=stemp;ftemp=flag1;flag1=flag2;flag2=ftemp;}for(i=0;i5、=i))if(huffmantree[i].weightsmall2){stemp=small1;small1=small2;small2=stemp;ftemp=flag1;flag1=flag2;flag2=ftemp;}}}voidhuffmancode(intn){inta[100];intj,k,i,c;for(i=0;i6、arent!=-1){k=huffmantree[j].parent;if(huffmantree[k].lchild==j)a[c]=0;if(huffmantree[k].rchild==j)a[c]=1;c=c+1;j=k;}printf("节点%d的哈夫曼编码为:",i);for(c=c-1;c>-1;c--)printf("%d",a[c]);printf("");}}voidmain(){intn,m;printf("请输入一共有几个节点:");scanf("%d",&n);m=2*n-1;Creat7、HuffmanTree(n,m);huffmancode(n);}截图
4、g1=i;a=a+1;}elseif(b==0){small2=huffmantree[i].weight;flag2=i;b=b+1;}}if((a==1)&&(b==1))break;}if(small1>small2){stemp=small1;small1=small2;small2=stemp;ftemp=flag1;flag1=flag2;flag2=ftemp;}for(i=0;i5、=i))if(huffmantree[i].weightsmall2){stemp=small1;small1=small2;small2=stemp;ftemp=flag1;flag1=flag2;flag2=ftemp;}}}voidhuffmancode(intn){inta[100];intj,k,i,c;for(i=0;i6、arent!=-1){k=huffmantree[j].parent;if(huffmantree[k].lchild==j)a[c]=0;if(huffmantree[k].rchild==j)a[c]=1;c=c+1;j=k;}printf("节点%d的哈夫曼编码为:",i);for(c=c-1;c>-1;c--)printf("%d",a[c]);printf("");}}voidmain(){intn,m;printf("请输入一共有几个节点:");scanf("%d",&n);m=2*n-1;Creat7、HuffmanTree(n,m);huffmancode(n);}截图
5、=i))if(huffmantree[i].weightsmall2){stemp=small1;small1=small2;small2=stemp;ftemp=flag1;flag1=flag2;flag2=ftemp;}}}voidhuffmancode(intn){inta[100];intj,k,i,c;for(i=0;i6、arent!=-1){k=huffmantree[j].parent;if(huffmantree[k].lchild==j)a[c]=0;if(huffmantree[k].rchild==j)a[c]=1;c=c+1;j=k;}printf("节点%d的哈夫曼编码为:",i);for(c=c-1;c>-1;c--)printf("%d",a[c]);printf("");}}voidmain(){intn,m;printf("请输入一共有几个节点:");scanf("%d",&n);m=2*n-1;Creat7、HuffmanTree(n,m);huffmancode(n);}截图
6、arent!=-1){k=huffmantree[j].parent;if(huffmantree[k].lchild==j)a[c]=0;if(huffmantree[k].rchild==j)a[c]=1;c=c+1;j=k;}printf("节点%d的哈夫曼编码为:",i);for(c=c-1;c>-1;c--)printf("%d",a[c]);printf("");}}voidmain(){intn,m;printf("请输入一共有几个节点:");scanf("%d",&n);m=2*n-1;Creat
7、HuffmanTree(n,m);huffmancode(n);}截图
此文档下载收益归作者所有