CSE 100: Advanced Data Structures

Huffman Compression/Decompression

Compression/Decompression program using Huffman Tree encoding/decoding to turn input files into binary encrypted files, and decoding encrypted files using the saved Huffman Trees.
Binary compression

This C++ program implements a sophisticated file compression and decompression system built around a custom HCTree (Huffman Coding Tree) class. It utilizes C++ libraries like FancyInputStream and FancyOutputStream in its transformation of input files into efficiently encoded binary representations. The primary class of the programs, HCTree class serves as the core mechanism for encoding and decoding, enabling precise file compression that reduces data size while preserving original content integrity. Through carefully implemented functions within the HCTree class, the program can both compress files into compact binary formats and accurately decompress them back to their original state, demonstrating a robust approach to data handling and file transformation.