电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

哈夫曼文件压缩实验报告

哈夫曼文件压缩实验报告_第1页
1/10
哈夫曼文件压缩实验报告_第2页
2/10
哈夫曼文件压缩实验报告_第3页
3/10
数据结构实验报告三——哈夫曼文件压缩实验题目:哈夫曼文件压缩实验目标:输入一个有 10k 单词得英文文档。输出压缩后得二进制文件,并计算压缩比。数据结构:栈与哈夫曼树。1.定义栈()t y ped ef s t ruc t{ﻩchar *el e m;ﻩint s tack s ize;in t t op;}STAC K;2.定义哈夫曼树()typede f struc t{int we ig ht;ﻩint le f t,r i ght;i nt parent;}HTNod e;需要得操作有:1、初始化栈(I n its t a c k)vo id Initst ac k(ST A CK *s){ﻩs->el em=(ch ar *)ma ll o c(s izeof(int)*100 0);s->s t a c ks i ze=1 0 00;ﻩs->to p=-1;}2、压栈(p u sh)vo id pu s h(STAC K *s,int e){ﻩs->e l em[++s->t op]=e;}3、弹栈(pop)void pop(STACK *s,i n t *e){ﻩif(s->top!=-1)ﻩ*e=s->e le m[s->t o p--];}4、构造哈夫曼树(Inith u ffman)v oid In ithuff m an(in t wset[n],int k,HuffTree HT[]){ //构造哈夫曼树i n t i,m;int s1,s2;m=k*2-1;f or(i=0;iweig ht=(ip arent=-1;ﻩﻩHT[i]->l ef t=HT[i]->r i ght=-1;}ﻩf or(i=k;ileft=s1;ﻩﻩHT[i]->r i gh t=s2;ﻩHT[i]->weight=HT[s 1]->w e ig h t+H T[s2]->weight;ﻩHT[s1]->par e nt=H T[s 2]->p a r en t=i;}}其中用到另一个基本操作:找到哈夫曼树中最小与次小得结点(select)5、找到哈夫曼树中最小与次小得结点(se lect)void s el ec t(H u f f T r ee HT[2 55],i n t a,i n t i,int *p,i n t *q){i nt j=0,k=0,*HT1,temp;H T 1=(i n t *)ma l l oc(s izeof(int)*(i-1)); //存放权值ﻩf o r(j=0;jpa ren...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

哈夫曼文件压缩实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部