求助,数据结构课设,哈夫曼编码实现文本文件的压缩和解压!!我可以付费!

来源:百度知道 编辑:UC知道 时间:2024/05/05 21:19:00
文本文件的压缩/解压实用程序
【问题描述】
WinZip是大家经常使用的一个文件压缩/解压实用程序。这个程序使用的是无损压缩方法,即压缩后的文件经过解压后与原始文件完全一样。这是对文本文件进行压缩的基本要求。本次“数据结构与算法分析”课程设计要求大家利用课堂上讲述的理论知识实现文本压缩和解压的操作。

【基本要求】
请设计一个文本文件的压缩和解压程序。具体要求如下:
1. 先统计文件中出现的每个字符的出现次数;
2. 根据上述的统计结果设计huffman编码;
3. 为提高查询速度,以每个字符的huffman为结点内容构造一棵二叉排序树;
4. 压缩。即将文本文件中的每个字符用huffman编码代替,并写入二进制文件中。也就是说,压缩文件是一个记录文件内容的二进制流;
5. 解压。即将二进制文件还原为文本文件。
6.程序运行后应该有一个菜单,菜单至少应该包含:打开文本文件、压缩、解压、查看二进制文件、查看每个字符的huffman编码、查看字符出现统计结果、帮助、退出等菜单项。

【输入】
1. 待压缩的文本文件
2. 待解压的二进制文件

【输出】
程序应该能够显示下列内容:
1. 每个字符的出现次数
2. 每个字符的huffman编码
3. 文本文件
4. 二进制文件
5. 原文本文件与二进制文件的大小对比

【实现提示】
一、本题应该涉及下面三种数据结构:
(1)文本文件:待压缩文件
(2)二进制文件:压缩后的文件
(3)huffman树
(4)huffman编码:应该选择一种易于在解压是搜索编码的数据结构(自行设计)

二、技术难点:
在压缩时,将二进制编码拼接为以字节为单位的二进制流;在解压时,从以字节为单位的二进制流中分离出每个字符的编码。

三、过程提示:
压缩:
(1)统计每个字符出现的次数
(2)设计huffman编码
(3)将文本文件内容压缩到一个二进制文

找一下huffman的类模块,网上好多,你要的基本功能都有...
huffman压英文还好,对中文压缩还有不少问题

RE:我已经把源码地址发给你...网上有的...不用付费..