2022年2022年哈夫曼编码C语言程序 .pdf

上传人:Che****ry 文档编号:34869773 上传时间:2022-08-19 格式:PDF 页数:5 大小:33.47KB
返回 下载 相关 举报
2022年2022年哈夫曼编码C语言程序 .pdf_第1页
第1页 / 共5页
2022年2022年哈夫曼编码C语言程序 .pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《2022年2022年哈夫曼编码C语言程序 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年哈夫曼编码C语言程序 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、附录一:哈夫曼编码分析与实现C 语言源程序#include #include #define w 10 float aw,bww=0,fw=0; int i,cwww,dw=0,m; xiaoxi() int n; float P=0; printf(n 请分别输入消息概率 na); for(n=0;n=1|an=0) printf( 出错,概率应在0,1 范围内 n); return(0); break; P+=an; if(P!=1) printf( 出错,概率和应为1n); return(0); else return(1); ordination(int f,float *e) int

2、 g,j; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - float k; for(g=0;gf-1;g+) for(j=g+1;jf;j+) if(eg=0;i-) t=0; for(k=m-2-i;k=0;k-) if(fi=bi+1k)&(t=0) t=1; for(r=0;ci+1kr!=2;r+) cim-i-2r=ci+1kr; cim-i-1r=ci+1kr; cim-i-2r=0; cim-i-1r=1; 名师

3、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - for(j=m-i-3;j=0;j-) for(k=m-2-i;k=0;k-) if(bij=bi+1k) for(r=0;ci+1kr!=2;r+) cijr=ci+1kr; add() int j; for(i=0;im;i+) b0i=ai; for(i=1;im;i+) bim-i-1=bi-1m-i-1+bi-1m-i; fi-1=bim-i-1; for(j=0;jm-i-

4、1;j+) bij=bi-1j; ordination(m-i,bi); main() int n,x,y; float K=0,H=0; for(n=0;nw;n+) for(x=0;xw;x+) for(y=0;yw;y+) cnxy=2; printf(n 请 输 入 消 息 个 数nna); scanf(%d,&m); printf(n); y=xiaoxi(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - if(y

5、=1); ordination(m,a); add(); coding(); printf(n 编码过程 n); for(n=0;nm;n+) printf(n 第 %d 列:,n+1); for(x=0;xm;x+) if(bnx=0) break; printf(t%5.4f,bnx); printf(n); printf(n); for(n=0;nm;n+) printf( 概率为 %5.4f 的符号编码后码字为 :t,an); for(x=0;xm;x+) if(c0nx=2) break; printf(%d,c0nx); dn+; K+=an*dn; H+=(-an*log10l(

6、an)/log10l(2); printf(t 其 码 长为: %dn,dn); printf(n 平均码长K=); printf(%3.2f,K); printf(n 信源熵 =%3.2f,H); printf(n 编 码 效 率 =(H/K)=%3.2f%,H*100/K);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - printf(n 冗余度 = (1- )=%3.2fn,1-H/K); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁