Huffman coding is a fundamental lossless data compression algorithm that efficiently encodes data by assigning variable-length binary codes based on character frequencies. By creating a binary tree where more frequent characters receive shorter codes, the method minimizes overall data representation length. The algorithm constructs an optimal prefix-free encoding through a systematic process of frequency analysis, node combination, and code generation. Its elegance lies in transforming statistical data characteristics into a compact, efficient representation, making it a cornerstone technique in information theory and digital communication systems for reducing data transmission and storage requirements.
- Symbol probabilities calculation
- Code word generation
- Encoding/Decoding
- Visualization using python
- Storing results in csv file for further analysis
gnuplot-iostream
Pandas
Matplotlib
seaborn
numpy
- Run
main.cppand then use the resultantcompression_metrics.csvfile for python to run detailed analysis