项目简介
本项目基于C++实现了Huffman编码压缩解压系统。运用Huffman编码算法,能够对文本文件进行高效的压缩与解压操作,模拟了完整的从编码、压缩、解压到译码的通信过程。
项目的主要特性和功能
- 文本文件加载与字符频率统计:可加载文本文件并统计字符出现频率,将统计结果保存到文件供后续Huffman编码使用。
- Huffman树构建与编码:依据字符频率构建Huffman树,为每个字符生成对应Huffman编码,并保存到文件。
- 文本文件的Huffman编码与压缩:对整个文本文件应用Huffman编码,将编码后的文本压缩成
.huf
格式文件。 - 压缩文件的解压与解码:把压缩文件解压缩回原始的Huffman编码文本,对解压后的文件进行Huffman解码得到原始字符数据。
- 压缩率与准确率计算:计算压缩文件的压缩率(原始文件大小与压缩后文件大小的比率),通过比较解码后的文本与原始文本是否一致来计算解码结果的准确性。
安装使用步骤
复制项目
bash
cd Huffman-Compression-System
编译项目
bash
g++ -o Huffman_Main Huffman_Main.cpp MyFile_Achievement.cpp MyLinkList_Achievement.cpp MyHuffman_Achievement.cpp
运行程序
bash
./Huffman_Main
使用说明
- 修改
temp/TestTextSource.txt
中的内容,程序会自动对其进行压缩和解压操作。 - 程序会生成一系列中间文件,如
CharFrequency.txt
、HuffmanCodeInfo.txt
等,用于记录和展示压缩解压过程中的数据。通过以上步骤,可体验Huffman编码在文本压缩中的应用并了解其工作原理。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】