




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、哈夫曼树及哈夫曼编码译码的实现程序如下:#includestdio.h#includestring.h#includeconio.h#includestdlib.hint maxline=0;char xx5080;int l,L;typedef struct /*定义结构体*/ int weight;int parent;int lchild,rchild;tree;tree b57;int ReadDat(void) FILE *fp;int i=0;char *p;if(fp=fopen(in.txt,r)=NULL)return 1;while(fgets(xxi,80,fp)!=NU
2、LL) p=strchr(xxi,n);if(p)*p=0;i+;maxline=i;fclose(fp);return 0;int pinlv(int a)int i,j;int L;for(i=0;imaxline;i+)L=strlen(xxi); for(j=0;j=97&xxij=122) axxij-97+;elseif(xxij=32)a26+;elseif(xxij=44)a27+;elseif(xxij=46)a28+;smax(int a,int low,int high,int max) int mid,M2,N2;mid=(high+low)/2;if(high-low
3、=1)if(alowahigh) max0=low;max1=high;else max0=high;max1=low;elseif(high-low=0)max0=high;max1=57;else smax(a,low,mid,max);M0=max0;M1=max1;smax(a,mid+1,high,max);N0=max0;N1=max1;if(aM0=aN0&aM1=aN0)max0=M0;max1=M1;elseif(aM0aN0)max0=M0;max1=N0;elseif(aM0aN0&aM0aN0&aM0aN1)max0=N0;max1=N1;bhtree(int a) i
4、nt i,j;int max2;int c58=0;c57=4000;l=0;for(i=0;i29;i+) if(ai!=0)bi.weight=ai;bi.lchild=0;bi.rchild=0;ci=ai;l+;elseif(ai=0)bi.weight=ai;bi.lchild=0;bi.rchild=0;ci=4000;for(i=29;i29+l-1;i+)smax(c,0,i-1,max);cmax0=4000;cmax1=4000;bi.weight=bmax0.weight+bmax1.weight;bi.lchild=max0;bi.rchild=max1;bmax0.p
5、arent=i;bmax1.parent=i;ci=bi.weight;bma(int i,int j,int n,int M) int t;t=bn.parent;if(n=29+l-2)Mj=2;elseif(n=bt.lchild)Mj=0;n=t;bma(i,j+1,n,M);elseif(n=bt.rchild)Mj=1;n=t;bma(i,j+1,n,M);main() int a29=0;int i,j,n,k=0,p;int m2910;int M10;FILE *fp;clrscr();for(i=0;i29;i+) for(j=0;j10;j+) mij=3;ReadDat
6、();pinlv(a);bhtree(a);fp=fopen(out.txt,w);for(i=0;imaxline;i+) L=strlen(xxi); for(j=0;jL;j+) fprintf(fp,%c,xxij);fprintf(fp,n);for(i=0;i29;i+) if(ai!=0)for(p=0;p10;p+)Mp=3;k=0;n=i;j=0;bma(i,j,n,M);for(p=0;p10;p+)if(Mp=0;p-)mik-1-p=Mp;for(i=0;i26;i+)if(ai!=0)fprintf(fp,%c:,97+i);for(j=0;j10;j+)if(mij
7、2)fprintf(fp,%d,mij);fprintf(fp,n);if(a26!=0) fprintf(fp,:);for(j=0;j10;j+)if(m26j2) fprintf(fp,%d,m26j);fprintf(fp,n);if(a27!=0) fprintf(fp,:);for(j=0;j10;j+)if(m27j2)fprintf(fp,%d,m27j);fprintf(fp,n);if(a28!=0)fprintf(fp,.:);for(j=0;j10;j+)if(m28j2)fprintf(fp,%d,m28j);fprintf(fp,n);for(i=0;imaxline;i+)L=strlen(xxi); for(j=0;j=97&xxij=122) k=xxij-97; for(p=0;p10;p+)if(mkp2) fprintf(fp,%d,mkp); elseif(xxij=32) for(p=0;p10;p+)if(m26p2) fprintf(fp,%d,m26p);elseif(xxij=44) for(p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供水公司着装管理制度
- 供热公司收费管理制度
- 供热工程安全管理制度
- 供电公司指标管理制度
- 供电公司送电管理制度
- 供货超市仓库管理制度
- 便民市场大厅管理制度
- 保卫班组怎样管理制度
- 保安公司值班管理制度
- 保洁公司档案管理制度
- 5.2 预防犯罪 课件- 2024-2025学年统编版道德与法治八年级上册
- 路灯控制器课程设计仿真
- 呼吸机雾化吸入疗法护理实践专家共识
- “非遗”之首-昆曲经典艺术欣赏智慧树知到期末考试答案章节答案2024年北京大学
- 金属非金属露天矿山及尾矿库重大事故隐患判定标准解读
- SMP-04-013-00 药品受托企业审计评估管理规程
- 人工气候室投标书
- 应征公民政治考核表(含各种附表)
- 【企业分拆上市问题探究文献综述5800字】
- 肿瘤随访登记工作以及管理
- 医院新技术开展总结及整改措施
评论
0/150
提交评论