This project provides a Java implementation of the Huffman Coding algorithm, a widely used method for data compression. The implementation includes both compression and decompression functionalities. Huffman coding works by assigning shorter codes to more frequent characters and longer codes to less frequent characters, thus reducing the overall size of the data.
Compression: Compress input text files into smaller, encoded files using Huffman coding. Decompression: Decompress the encoded files back to their original form. Frequency Table Generation: Automatically generates a frequency table for the input data. Dynamic Huffman Tree: Constructs a Huffman tree based on the frequencies of characters in the input data. Binary File Output: Encoded data is saved as a binary file, significantly reducing the file size compared to the original text.