实验3:哈夫曼编码

上传人:时间****91 文档编号:204119763 上传时间:2023-04-26 格式:DOC 页数:5 大小:54.50KB
返回 下载 相关 举报
实验3:哈夫曼编码_第1页
第1页 / 共5页
实验3:哈夫曼编码_第2页
第2页 / 共5页
实验3:哈夫曼编码_第3页
第3页 / 共5页
点击查看更多>>
资源描述
实验3:霍夫曼编码学生姓名: 学 号:一、实验室名称:信息与编码课程组二、实验项目名称:霍夫曼编码三、实验原理:1)将个信源符号按概率大小递减排列;2)用“0,1”马符号分别代表概率最小的两个信源符号,并将这两个概率最小的信源符号合并成一种,从而得到只涉及个符号的新信源,称为缩减信源;3)把缩减信源的符号仍按概率大小递减顺序排列,再将其最后两个概率最小的信源符号分别用“”和“1”码符号表达,并且合并成一种符号,这样又形成了个信源符号的缩减信源;4)依次继续下去,直至信源最后只剩余两个信源符号为止,将这最后两个信源符号分别用二元码符号“”和“”表达;)然后从最后级缩减信源开始,进行回溯,就得到各信源符号所相应的码符号序列,即相应的码字。四、实验目的:(1)进一步熟悉Huffman编码过程;(2)掌握C语言递归程序的设计和调试技术。以巩固课堂所学编码理论的知识。五、实验内容: 对于给定的信源,运用霍夫曼编码措施编出其中一种紧致码。六、实验器材(设备、元器件):PC机一台,装有V+60或其他C语言集成开发环境。七、实验环节及操作:)排序;2)缩减信源;3)递归调用霍夫曼算法得到相应的码字。八、实验数据及成果分析: 题目:已知信源:,给出其中一种霍夫曼码,并求其平均码长和编码效率。 include stdh#clude stdlib.inlude fla#nclude dein n#deine m 2ntpedef strctfloat weght;nt lhild,rhild,parent;Node;ef HTNodHuffmanTre;d IntffanTr(Hufmnre T)or(in i = 0;i m;i+)i.ild= Ti.rhil = Ti.ret ;Ti.eight= 0.0;void InuWeiht(HffmaTeeT)flt tpn= .0,0.1,.17,0.5,.15,0.05,.0,0.05;for(inti = 0;i ;+).weigh= tmpi;d SelecMin(fmnTe T,i i,inp1,int *p2)int j;*p p2 = m-1;m-wight= FL_AX;for(j = 0;j = i;j+)i(Tj.arent !=-1)connue;f(Tj.wght T1.weight)p = *p1;*p1 = ;se f(Tj.eigh Tp2.weght)*p2 =j;d CreteufmnTre(HuffmnTe T)it i,p1,p;InHuffanree(T);nputWeight();or(i n; ;+)eletMin(T,i-,1,&p);Tp1paren = Tpparen i;Ti.lcild p;Tichil = p2;i.weigh = Tp1.eigh+T2.egh;t riHuffmanCode(HfanTree,int i)prntf(s%f,+1,i.weigt);it arrn-1,cont0,j;ile(Ti.parent != -1)arcont+ = TTipent.lchil = i?0:; = T.parent;fo(j= cou1;j = ;j-)prn(d,rj);pinf();rern count;tmain()fmanTree T;CreatHfmaTee();float av 0;fr(t i= ;i n;i+)ave += Tit*PrintHuffmanCod(T,i);intf(平均码长:t%,ave);pinf(编码效率:t%f%n,ae/cl(log(oue)n)log(ouble)2)*10);systm(paus);九、实验结论:十、总结及心得体会: 本实验让我学习了使用 进行编程的措施,并对 的知识有了进一步理解。十一、对本实验过程及措施、手段的改善建议: 报告评分: 指引教师签字:
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


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

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


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