- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S0FrWAREDEVEL0PMENTANDDESIGN 软件开发与设计
文本压缩的实现原理及方法
陈国香,张世伟 。宫玉晓
(山东大学软件学院,济南 250101)
摘 要:无论是在存储设备中存储文件,还是用因特网传输文件,经常会用到一些压缩算法来节省空间,提高传输
速度。文中利用聚焦最有效的压缩算法Huffman编码 ,并用Java来实现这个过程。
关键词: 霍夫曼编码 ;输入输出流;堆排序;二叉树遍历 ;存储数据结构设计; 字符汉字编码方式;二进制文件
读 写
PrincipleandMethodofRealizationoftheTextCompression
CHENGuoxiang,ZHANGShiwei,GONGYuxiao
(ShandongUniversitySoftwareCollege,Jinan 250101)
Abstract:WhenpeoplestorefilesinstoragedevicesandtransferfilesthroughIntemet,compressionmethodsareoftenused
tosavespaceorimprovethetransferspeed.ThispaperfocusononeofthemostefficientcompressionmethodscanedHuff-
manmethodandgivesthekeyproceduresbyusingJavaprogramminglanguagetoimplementthemethod.
Keywords:Huff mancode;inputandoutputflow;Heapsorttraverse;binarytreedata;structuredesign;characterencodingof
Chinesecharacters;readingandwritingbinary files
对文本的压缩要涉及到两个方面 :一是压缩,二是恢复。 (charS)函数得到该字符在数组中的位置 ,然后将该位置的
完成压缩任务的称为压缩器;完成恢复任务的称为解压缩器。 元素个数加 1。当把源文件读入完毕后,就完成了所有字符的
解压缩器必须能正确地恢复被压缩的文本 ,为了实现这一点, 频数统计。字符频率统计表如表 1所示。
压缩器与解压缩器需要使用相同的模式。模式的维持通常有3
表 1字符频率统计表
种方式 :静态、半 自适应、自适应。静态模式是指压缩器与
解压缩器都使用一个固定不变的模式 ,不论是什么文本都用
该模式对其进行压缩和恢复。在此讨论静态实现模式的一种
实现方法一 霍夫曼编码文本压缩方法。 intlength=in.read0 :
对文本进行压缩和解压缩的时候 ,首先需要建立输入输 privatevoidaddletter(charletter)
{
出流,在压缩文本文件时,对文件进行读操作,并建立相应
inti:
的数据结构进行字符的统计和编码 ,然后再次读源文件,完
i=getCharCode (1etter);
成字符的压缩过程。在解压缩文件时 ,首先读压缩文件,恢 word [i】=word i【】+1;
复出每个代码表示的字符含义,然后对压缩文件进行解压缩
文档评论(0)