五种数据压缩算法

五种数据压缩算法

ID:48313987

大小:133.74 KB

页数:60页

时间:2019-11-04

五种数据压缩算法_第1页
五种数据压缩算法_第2页
五种数据压缩算法_第3页
五种数据压缩算法_第4页
五种数据压缩算法_第5页
资源描述:

《五种数据压缩算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、n哈弗曼编码A method for the construction of minimum-re-dundancy codes,耿国华1数据结构1北京:高等教育出版社,2005:182—190严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.冯 桂,林其伟,陈东华.信息论与编码技术[M].北京:清华大学出版社,2007.刘大有,唐海鹰,孙舒杨,等.数据结构[M].北京:高等教育出版社,2001²压缩实现速度要求为了让它(huffman.cpp)快速运行,同时不使用任何动态库,比如STL或者MFC。它压缩1M数据少于100ms(P3处理器,主频1G)。压缩过程

2、压缩代码非常简单,首先用ASCII值初始化511个哈夫曼节点:CHuffmanNodenodes[511];for(intnCount=0;nCount<256;nCount++)nodes[nCount].byAscii=nCount;其次,计算在输入缓冲区数据中,每个ASCII码出现的频率:for(nCount=0;nCount

3、CII码对应的位序列:intnNodeCount=GetHuffmanTree(nodes);构造哈夫曼树构造哈夫曼树非常简单,将所有的节点放到一个队列中,用一个节点替换两个频率最低的节点,新节点的频率就是这两个节点的频率之和。这样,新节点就是两个被替换节点的父n哈弗曼编码A method for the construction of minimum-re-dundancy codes,耿国华1数据结构1北京:高等教育出版社,2005:182—190严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.冯 桂,林其伟,陈东华.信息论与编码技术[M].北京:清华大

4、学出版社,2007.刘大有,唐海鹰,孙舒杨,等.数据结构[M].北京:高等教育出版社,2001²压缩实现速度要求为了让它(huffman.cpp)快速运行,同时不使用任何动态库,比如STL或者MFC。它压缩1M数据少于100ms(P3处理器,主频1G)。压缩过程压缩代码非常简单,首先用ASCII值初始化511个哈夫曼节点:CHuffmanNodenodes[511];for(intnCount=0;nCount<256;nCount++)nodes[nCount].byAscii=nCount;其次,计算在输入缓冲区数据中,每个ASCII码出现的频率:for(nCount=0;nCou

5、nt

6、odepNode=&nodes[nParentNode++];//popfirstchildpNode->pLeft=PopNode(pNodes,nBackNode--,false);//popsecondchildpNode->pRight=PopNode(pNodes,nBackNode--,true);//adjustparentofthetwopopednodespNode->pLeft->pParent=pNode->pRight->pParent=pNode;//adjustparentfrequencypNode->nFrequency=pNode->pLeft->nF

7、requency+pNode->pRight->nFrequency注意事项有一个好的诀窍来避免使用任何队列组件。ASCII码只有256个,但实际分配了511个(CHuffmanNodenodes[511]),前255个记录ASCII码,而用后255个记录哈夫曼树中的父节点。并且在构造树的时候只使用一个指针数组(ChuffmanNode*pNodes[256])来指向这些节点。同样使用两个变量来操作队列索引(intnParentNode=nNo

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

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

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