huffman无损压缩编码实验报告

huffman无损压缩编码实验报告

ID:15665158

大小:158.50 KB

页数:9页

时间:2018-08-04

huffman无损压缩编码实验报告_第1页
huffman无损压缩编码实验报告_第2页
huffman无损压缩编码实验报告_第3页
huffman无损压缩编码实验报告_第4页
huffman无损压缩编码实验报告_第5页
资源描述:

《huffman无损压缩编码实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、无损压缩编码(huffman编码)实验报告作者:计一飞学号:1004210228学院(系):电子工程与光电技术学院专业:电子信息工程题目:无损压缩编码指导老师:康其桔摘要本文介绍了无损压缩编码中的霍夫曼(huffman)编码。Huffman编码是可变字长编码的一种,该方法完全依据字符出现概率来构造最优二叉树(huffman树),故有时又称为最佳编码。在文中,我们使用C++语言进行编码,从下到上进行了熵编码。关键词:huffman、最优二叉树、熵编码、C++AbstractThehuffman(Huffman)codingofLosslessc

2、odingwereintroducedinthispaper.Huffmancodingisakindofvariable-word-lengthcoding.Themethodiscompletelybasedonthecharactersappearprobabilitytoconstructtheoptimalbinarytree(Huffmantree),soitissometimesreferredtoastheoptimalcoding.Inthispaper,weusec++languagetocode,frombottomto

3、topintheentropycoding.Keywords:huffman、optimalbinarytree、entropycoding、C++一、实验目的1、理解无损压缩编码的优点和意义。2、理解树、二叉树、huffman树的概念。3、学会二叉树的C++编程,进行熵编码。二、实验步骤步骤①:按照符号出现概率大小的顺序对符号进行排序。步骤②:把概率最小的两个符号组成一个节点P1。步骤③:重复步骤②,得到节点P2,P3,P4,……,PN,形成一棵树,其中的PN称为根节点。步骤④:从根节点PN开始到每个符号的树叶,从上到下标上0(上枝)和1(

4、下枝),至于哪个为1哪个为0则无关紧要,但通常把概率大的标成1,概率小的标成0。步骤⑤:从根节点PN开始顺着树枝到每个叶子分别写出每个符号的代码。三、实验程序设计1、输入字符,定义三个字符串,输入字符串到words数组,并且求得其长度length。charwords[500],wds[500],wd[500];//定义三个字符串,长度都不超过500cin>>words;//输入字符串intlength,len,m;length=strlen(words);//计算words字符串长度2、对words字符串进行从小到大冒泡排序,并且将words

5、中的元素全部赋给wds字符串。voidmaopao(charwd[],intlen)//函数冒泡排序{inti,j;chart;for(j=0;j<=len-1-1;j++)for(i=0;iwd[i+1]){t=wd[i];wd[i]=wd[i+1];wd[i+1]=t;}}}主函数:maopao(words,length);//定义冒泡函数cout<

6、1、将已经排序好的字符串中同种字符删除,使该字符在字符串中只剩下一个。得到wds的字符串长度len。voidtypedelete(char*a1,intlen)//删除字符串中的同类字符使该字符只剩一个{while(*a1){if(*a1==*(a1+1)){strcpy(a1,a1+1);continue;}a1++;}}主函数:typedelete(wds,length);//定义同类删除函数cout<

7、1、entr2,分别用于存放输入字符串words中出现每个字符的频率与频数。定义log2函数用于计算熵。doublelog2(doublex)//定义log2函数计算熵值{doubley;y=log10(x)/log10(2);returny;}主函数:doubleentr1[500]={0,0,0};//定义一个数组,存放每个字母出现的频率intentr2[500]={0,0,0};//定义一个数组,存放每个字母出现的频数,即为权值doubleentropy=0;//定义熵,即平均码长intj;for(i=0;i

8、=0;j

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

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

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