哈夫曼编译器c语言程序,哈夫曼编码C语言程序

《哈夫曼编码C语言程序》由会员分享,可在线阅读,更多相关《哈夫曼编码C语言程序(5页珍藏版)》请在人人文库网上搜索。

1、附录一:哈夫曼编码分析与实现C语言源程序#include#include#define w 10float 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;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;for(j=m-i-3;j=0;j-)for(k=m-。

2、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-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。

3、(%d,&m);printf(n);y=xiaoxi();if(y=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(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);printf(n 冗余度=(1-)=%3.2fn,1-H/K。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值