七:哈夫曼编码及应用

上传人:cl****1 文档编号:507885910 上传时间:2022-09-27 格式:DOC 页数:8 大小:29KB
返回 下载 相关 举报
七:哈夫曼编码及应用_第1页
第1页 / 共8页
七:哈夫曼编码及应用_第2页
第2页 / 共8页
七:哈夫曼编码及应用_第3页
第3页 / 共8页
七:哈夫曼编码及应用_第4页
第4页 / 共8页
七:哈夫曼编码及应用_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《七:哈夫曼编码及应用》由会员分享,可在线阅读,更多相关《七:哈夫曼编码及应用(8页珍藏版)》请在金锄头文库上搜索。

1、.XX中医药大学医学信息工程学院实 验 报 告课程名称:数据构造与算法专业班级:计算机科学与技术( )级学生学号:学生XX:实验名称:实验成绩:课程类别:必修 限选 公选 其它哈夫曼编码及应用实验目的:了解哈夫曼树的应用,掌握哈夫曼树的构造方法及前缀码的应用。实验性质:设计性,应用性。实验步骤: (1) 输入一串字符,统计其中所有的不同字符及其个数,得出每个不同字符在文中出现的频率。(2) 根据每个字符频率建立哈夫曼树,输出字符对应的编码。实验要求 1、 实验要求独立完成。2、 迟交或不交的或源代码雷同者一律不做作业登记评分。作业提交 (实验报告写在此处)给出含有6,8,11个字符的实例,统计

2、他们的频率,画出哈夫曼树,并用算法验证结果。624D1C11B2A21)1代码写在此处*includestdio.h*include*define MAXNODE 20*define MAXLEAF 30*define MAXINT 234567struct HtNodeint ww;int parent,lchild,rchild;struct HtTreeint root;struct HtNode htMAXNODE;typedef struct HtTree PHtTree;PHtTree *huffman(int m,int *w);void main() char sMAXNODE

3、; int m=0;char wMAXNODE; int count=0; int t=0; int aMAXNODE; int *b; char *code;code=(char *)malloc(sizeof(char); b=(int *)malloc(sizeof(int); printf(请输入字符窜:n); for(int i=0;iMAXNODE;i+) scanf(%c ,&si); +count; if(si=*) break; for(i=0;icount-1;i+) ai=0;bm=0; for(int j=0;jcount-1;j+) if(si=sj&ij) ai=a

4、i+1; si=NULL; if(si!=NULL) bm=ai; wm=si; m+; printf(%c的个数%d,频率为%fn,wm-1,bm-1,(float)ai/(count-1); PHtTree *pht; pht=(PHtTree *)malloc(sizeof(PHtTree); pht=huffman(m,b); for(i=0;ihti.ww); printf(n);for(i=0;ihti.parent;while(p!=-1)if(pht-htp.lchild=c) codet=0; t+;if(pht-htp.rchild=c)codet=1; t+; pht-r

5、oot-; c=p;p=pht-htp.parent;printf(%c的编码是,wi);for(int y=t-1;y=0;y-)printf(%c,codey);printf(n);PHtTree *huffman(int m,int *w)/构造具有m各节点的哈弗曼树 PHtTree *pht; int i,j,x1,x2,m1,m2; pht=(PHtTree *)malloc(sizeof(PHtTree); if(pht=NULL) printf(out of space!n); return pht; for(i=0;ihti.lchild=-1; pht-hti.rchild=

6、-1; pht-hti.parent=-1;if(ihti.ww=wi;elsepht-hti.ww=-1;for(i=0;im-1;i+)m1=MAXINT;m2=MAXINT;x1=-1;x2=-1;for(j=0;jhtj.wwhtj.parent=-1)m2=m1;x2=x1;m1=pht-htj.ww;x1=j;else if(pht-htj.wwhtj.parent=-1)m2=pht-htj.ww; x2=j;pht-htx1.parent=m+i;pht-htx2.parent=m+i;pht-htm+i.ww=m1+m2;pht-htm+i.lchild=x1;pht-htm+i.rchild=x2; pht-root=m+i;return pht;作业提交说明:实验完成后,将此文档和相关的程序文件一并压缩后提交上来. v

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号