Huffman Coding is a widely-used algorithm for lossless data compression. This project implements the Huffman Coding algorithm using the framework developed by Professor Mike Scott. The goal is to efficiently encode and decode data by assigning variable-length codes to input characters based on their frequencies.
- Compression: The algorithm compresses input data by replacing frequently occurring characters with shorter codes and less frequent characters with longer codes.
- Decompression: The project includes functionality to decode the compressed data back to its original form.
- User-Friendly Interface: The framework provides an intuitive interface for encoding and decoding operations, allowing users to easily interact with the program.
- File I/O: Supports reading from and writing to files, enabling the compression and decompression of large datasets.
This project leverages the framework created by Professor Mike Scott, which provides a robust foundation for implementing data structures and algorithms. The framework includes:
- Priority Queue: Utilized for efficiently building the Huffman tree.
- Binary Tree: Facilitates the representation of the Huffman coding tree.
- Khanh Van
- Professor Mike Scott - Univeristy of Texas