电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

英文文件的压缩和解压缩程序

英文文件的压缩和解压缩程序_第1页
1/17
英文文件的压缩和解压缩程序_第2页
2/17
英文文件的压缩和解压缩程序_第3页
3/17
合肥学院计算机科学与技术系一、问题分析和任务定义1、 题目采用哈夫曼编码思想实现英文文本的压缩与解压缩,并提供压缩前后的占用空间比。要求 1 )压缩原文件规模不小于5K 2) 提供解压缩文件后文件与原文件的相同性比较功能2、问题分析压缩过程 news.txt news1.txt 1、以读的形式打开需要压缩的一个英文本文件,把其中出现的所有字符按其在文本中出现的频率利用哈夫曼树进行编码。2、以写的形式打开一个新的文本文件,把它作为英文文本压缩后的文本文件,扫描需要压缩的英英文本文件( new.txt )中所有字符,把其对应的编码通过转换后存入新的文本文件 ( new1.txt )中。3、把需要压缩的英文文本( new.txt )中所出现的字符及其编码等原始文件的信息保存在新的文本文件中。解压缩过程news1.txt news2.txt 1、以读的形式打开一个压缩文件 news1.txt,按其中保存的原始文件的信息还原哈夫曼树及字符编码。2、 以写的形式打开一个新的文本文件,作为解压后的英文文本 news2.txt ,逐个扫描压缩文件 news1.txt中的所有字符,把其中所有转换后的编码再转换回来并与哈夫曼树中存储的字符编码比较,把其对应的字符写入news2.txt 中。一个字符在文本文件中存储时占一个字节,而其二进制编码若直接存入文本文件其所占的空间不会少于一个字节。例如:假设字符E的编码为 001,若把 001 直接存入文件只能用字符串的形式, 其所占用的空间为三个字节。达不到文件压缩的目的,所以必须对编码的存储空间进行转换。3 编码转换在文本文件中字符之间是连续的,所以在文本文件中存储编码也是连续的。可以把连续的不同字符的编码存入同一个字节,再把这一个字节的二进制码转换成一个字符,把转换后的字符存储在文本文件中。二、数据结构的选择和概要设计:1 此程序采用的数据结构为顺序表。哈夫曼树是二叉树的一种,二叉树的顺序存储结构中可以把结点间的关系放在其存储位置中,无需附加任何信息就能在这种结构中找到每个结点的双亲结点和孩子结点,这正是哈夫曼编码所需要的。哈夫曼树顺序表:结构体header[512],表中每个结点包括以下信息unsigned char b 字符名long count 在文件中出现次数long parent 父结点Long lch 左孩子结点Long rch 右孩子结点char bits[256] 字符编码图 1 程序的实现过程表 1 程序中所包括的函数及其功能函数名所实现的功能 compress( ) 实现 文件压缩(被主函数调用) uncompress( )...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

英文文件的压缩和解压缩程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部