欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

实验一哈夫曼编码

  • 资源ID:22552849       资源大小:243KB        全文页数:12页
  • 资源格式: PPT        下载积分:9.9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要9.9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

实验一哈夫曼编码

实验一 哈夫曼编码n实验目的n掌握哈夫曼编码原理n理解数据压缩的实现过程 实验要求根据哈夫曼编码算法,对下列信源实现哈夫曼编码。求出编码后的平均码长。 05.0,10.0,15.0,20.0,25.0,25.0 6,5,4,3,2,1 XXXXXXX 实验内容与步骤1、实验内容n 对上面信源进行哈夫曼编码。n 显示出每个符号的分配代码及平均码长2、实验步骤(1)初始化,根据符号概率的大小按由大到小顺序对符号进行排序。 (2)把概率最小的两个符号组成一个节点。(3)重复步骤(1)(2),直到概率和为1(4)从根节点开始到相应于每个符号的“树叶”,概率大的标“0”,概率小的标“1”(5)从根节点开始,对符号进行编码。 实验结果要求1、哈夫曼编码程序。2、实验报告(含流程图) #include #include #define N 15#define M 2*N-1typedef struct float weight;int parent,lchild,rchild;HTNode;typedef struct char data;float weight; char codeN;HTCode; 参考程序 void Init(HTCode hc,int *n) int i;printf(n input n=);scanf(%d,fflush(stdin); /*修改的地方*/printf(n input %d character n,*n);for(i=1;i=*n;i+) printf(n the %d charactor is:,i);scanf(%c,fflush(stdin); /* 修改的地方*/for(i=1;i=*n;i+) printf(n the %d charactor weight is:,i);scanf(%f, 参考程序(续) void Select(HTNode ht,int k,int *s1,int *s2) int i;for(i=1;i=k;i+) if(hti.parent=0) *s1=i;break;for(i=1;i=k;i+) if(hti.parent=0参考程序(续) for(i=1;i=k;i+) if(hti.parent=0break;for(i=1;i=k;i+)if(hti.parent=0printf(n this is *s1:%dn,*s1); printf(n this is *s2:%dn,*s2); 参考程序(续) void HuffmanCoding(HTNode ht,HTCode hc,int n) char cdN;int i,j,m,c,f,s1,s2,start;m=2*n-1;for(i=1;i=m;i+) if(i=n) hti.weight=hci.weight;else hti.weight=0.0;hti.parent=hti.lchild=hti.rchild=0;for(i=n+1;i=m;i+) Select(ht,i-1,hts1.parent=i;hts2.parent=i; hti.lchild=s1;hti.rchild=s2;hti.weight=hts1.weight+hts2.weight; 参考程序(续) for(i=1;i=m;i+) printf(n the %d charactor weight is %f:,i,hti.weight);printf(n the %d charactor lchild is %d:,i,hti.lchild);printf(n the %d charactor rchild is %d:,i,hti.rchild);printf(n the %d charactor parent is %d:,i,hti.parent);for(i=0;iN;i+) cdi= ;cdn-1=0;for(i=1;i=n;i+) start=n-1;for(c=i,f=hti.parent;f;c=f,f=htf.parent) if(htf.lchild=c) cd-start=0; else cd-start=1;strcpy(hci.code, 参考程序(续) void main() int i,m,n,wN+1;float l=0.0;float arg,*point=HTNode htM+1;HTCode hcN+1;Init(hc,HuffmanCoding(ht,hc,n);for(i=1;i=n;i+)printf(n the code of %c is :%s,hci.data,hci.code);for(i=1;i=n;i+) l+=strlen(hci.code)*hci.weight; /* 修改的地方*/* l+=strlen(hci.code); */ /* l=l/n; 修改的地方*/printf(n the average length of the huffman coding is %f,l); 参考程序(续)

注意事项

本文(实验一哈夫曼编码)为本站会员(san****019)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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