版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国物流行业协会发展现状及职能转型与行业服务创新
- 2026中国稀土永磁材料在全球供应链中的地位与竞争策略分析
- 2026人工智能机器人应用前景调研及智能工厂数据分析报告
- 2026中国氢燃料电池汽车商业化进程与基础设施配套方案报告
- 生氧施工安全技术措施培训
- 2026全息顯示行業市場前景技術創新評估商業化規劃發展策略研究報告
- 2026中国印刷复制行业市场供需分析及投资评估规划分析研究报告
- 升降机安全技术知识培训
- 防止汽轮机大轴弯曲安全技术措施培训
- 2026中国医疗健康产业发展现状养老服务模式创新分析投资规
- 2026河北沧州市审计局公开招聘审计辅助人员14名笔试备考试题及答案详解
- 2026广西崇左供电局项目资料员招聘25人笔试备考试题及答案详解
- 莆田市公安局2026年下半年公开招聘警务辅助人员笔试备考题库及答案详解
- 2026学年冀教版小升初数学模拟试卷
- 2026年楚雄州州级机关统一遴选公务员笔试真题及答案解析
- 成人急腹症急诊诊疗救治指南(2025修订版)
- 2026年内蒙古中考数学真题试卷(真题+答案)
- JJG 954-2000数字脑电图仪及脑电地形图仪
- 政府机构沟通技巧培训:提升政府公共服务水平
- 淫羊藿栽培技术
- 飞机隐身涂层课件
评论
0/150
提交评论