实验二_英文文本的huffman编码压缩

实验二_英文文本的huffman编码压缩

ID:10839520

大小:33.50 KB

页数:3页

时间:2018-07-08

实验二_英文文本的huffman编码压缩_第1页
实验二_英文文本的huffman编码压缩_第2页
实验二_英文文本的huffman编码压缩_第3页
资源描述:

《实验二_英文文本的huffman编码压缩》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、福建农林大学计算机与信息学院实验报告系:信息与机电工程系专业:计算机科学与技术年级:2009姓名:李祥昆学号:116708072实验室号__608计算机号实验时间:指导教师签字:成绩:报告退发(订正、重做)实验名称:英文文本的Huffman编码压缩一、实验目的和要求了解Huffman编码的特点,掌握Huffman编码基本原理及编码算法的设计与程序实现。二、实验内容和原理以任意选择一个纯英文文本为数据,设计出Huffman编码的压缩和解压缩算法,并写出程序予以实现。霍夫曼(Huffman)编码是一种统计编码,属于无损压缩编码。霍夫曼编码的码长是变化的,对于出现频

2、率高的信息,编码的长度较短;而对于出现频率低的信息,编码长度较长。这样,处理全部信息的总码长一定小于实际信息的符号长度。三、实验环境硬件:计算机软件:Windows2000和MATLAB编程环境。四、算法描述及实验步骤1、在matlab中输入代码:clear;x=input('输入一串字符串','s');k=length(x);t1=1;A(t1:k)=0;B(t1:k)=0;fori=1:kkk=findstr(A,x(i));ifisempty(kk)A(t1)=x(i);B(t1)=1;t1=t1+1;elset2=kk(1);B(t2)=B(t2)+1

3、;endendfori=1:t1-1c(i)=A(i);d(i)=B(i)/k;endt(1:t1-1,1)=0;t(1:t1-1,2)=0;fori=1:t1-1ifi==1t(i,1)=0;t(i,2)=d(i);elseforj=1:i-1t(i,1)=t(i,1)+d(j);endforj=1:it(i,2)=t(i,2)+d(j);endendendl=0;r=1;d=r-l;fori=1:kkk=findstr(c,x(i));t3=kk(1);pl=t(t3,1);pr=t(t3,2);l=l+d*pl;r=l+d*(pr-pl);strl=st

4、rcat('输入第',int2str(i),'符号的间隔左右边界:');disp(strl);formatlongdisp(l);disp(r);d=r-l;endy1=input('请输入一个小数');n=input('请输入要解码的个数');s='';fori=1:nforj=1:t1-1ify1=t(j,1)s=strcat(s,c(j));y1=y1-t(j,1);y1=y1/(t(j,2)-t(j,1));break;endendends五、调试过程无错六、实验结果1、输入一串字符串sdjkgha2、请输入一个小数0.23、请

5、输入要解码的个数44、s=djhg七、总结通过这次试验,认识了哈夫曼编码的特点,加深了书本的理论知识。

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

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

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