哈夫曼编码C语言程序.doc

哈夫曼编码C语言程序.doc

ID:55689105

大小:17.50 KB

页数:5页

时间:2020-05-25

哈夫曼编码C语言程序.doc_第1页
哈夫曼编码C语言程序.doc_第2页
哈夫曼编码C语言程序.doc_第3页
哈夫曼编码C语言程序.doc_第4页
哈夫曼编码C语言程序.doc_第5页
资源描述:

《哈夫曼编码C语言程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、附录一:哈夫曼编码分析与实现C语言源程序#include#include#definew10floata[w],b[w][w]={0},f[w]={0};inti,c[w][w][w],d[w]={0},m;xiaoxi(){intn;floatP=0;printf("请分别输入消息概率a");for(n=0;n=1

2、

3、a[n]<=0){printf("出错,概率应在[0,1]范围内

4、n");return(0);break;}P+=a[n];}if(P!=1){printf("出错,概率和应为1");return(0);}elsereturn(1);}ordination(intf,float*e){intg,j;floatk;for(g=0;g

5、+1][1][0]=1;for(;i>=0;i--){t=0;for(k=m-2-i;k>=0;k--){if((f[i]==b[i+1][k])&&(t==0)){t=1;for(r=0;c[i+1][k][r]!=2;r++){c[i][m-i-2][r]=c[i+1][k][r];c[i][m-i-1][r]=c[i+1][k][r];}c[i][m-i-2][r]=0;c[i][m-i-1][r]=1;}}for(j=m-i-3;j>=0;j--)for(k=m-2-i;k>=0;k--

6、)if(b[i][j]==b[i+1][k])for(r=0;c[i+1][k][r]!=2;r++)c[i][j][r]=c[i+1][k][r];}}add(){intj;for(i=0;i

7、}}main(){intn,x,y;floatK=0,H=0;for(n=0;n

8、n+1);for(x=0;x

9、(a[n]))/log10l(2);printf("t其码长为:%d",d[n]);}printf("平均码长K=");printf("%3.2f",K);printf("信源熵=%3.2f",H);printf("编码效率η=(H/K)=%3.2f%%",H*100/K);printf("冗余度γ=(1-η)=%3.2f",1-H/K);}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。