下载此文档

无损数据压缩实验报告.doc


文档分类:研究报告 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
无损数据压缩实验报告.doc多媒体技术基础实验报告院系:自动化学院班级:11102003姓名:胡嘉懿学号:1110200302•实验名称:无损压缩编码实验•实验内容:任选一种无损编码方式,通过C++编程实现。•实验要求:1) 字符屯的输入是手工输入的;2) 通过程序实现编码,敁终在屏幕上显示编码结果,例如,如果选川huffman编码,则要显示字符串的编码以及乎均码长;3) 毎人交一份实验报吿电子版,以学号作为文件夾的名称,其中包括源程序。•算法思想按输入字符Ascii码值递增的顺序生成Hash表,并进行权重统计;将Hash表中元素生成为Huffman树■叶子节点;对于所有无父的节点进行搜索,将次小和最小的节点作为子节点创建父节点(规定最小的总是右子节点,并总是标记为1);直到从剩下一个没柯父节点的根节点;对huffman树进行编码,采川递归的方法进行扫描,同吋计算码长;最后将叶子节点数据写冋Hash表;川Hash表的编码数据对原数据进行编码;统计各叶子节点的码长來进行〒均码长的计算。Hash数组为一个长为128(ASCii)的数组,每个元素存储对应字符出现的频率和编码素结构:统计权重对J、V:编码编码长度Huffman数组是一个按照节点创建顺序构造的数组元素结构:对应Ascii码,对于父节点,定为-1权重父节点位置所在子树标识(规定0为左子树,1为右子树)节点编码(为了显示方便使用字符串)编码长度哈夫玆码的编码性能与其包含字符种类的多少有较人关系,对于最坏情况,即-个包含全部Ascii字符,每个字符只!li现一次的文本,算法本身性能最低。•源程序^include<>^include〈string,h〉#definefileLenth5000typedefstruct{intvalue;charcodc[512];intcodeLen;}hashElement;typedefstruct{um;intvalue;intfPoint:intlFlag;charcode[512];intcodeLen;}huffElement;charsources[fileLenth];hashElementhashArray[128];huffElementhuffTree[512];inthuffTreeNum=0;inthuffTreeLeafNunFO;intwholeValue=0;intsumCodeLen二0;voidinitALLO{inti;for(i=0;i<256;i++){hashArray[iLvalue-0;strcpy(hashArray[i].code, ;hashArray[i].codeLen=-l;}for(i=0;i<512;i++){huffTree「i].um='l;huffTree[i].value=0;huffTree[i].fPoint=-l:huffTree[i].lFlag=-l;strcpy(huffTree[i].code,huffTree[iLcodeLen=-l;inthuffTreeEncode(inthuffTreeP){intFP;if(huffTree[huffTreeP].fPoint==-l){=0;returnhuffTreeP;}if(huffTr

无损数据压缩实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小博士
  • 文件大小112 KB
  • 时间2019-01-12