Codage de Huffman
Un programme de compression et de décompression C++ basé sur Huffman Coding.
Introduction
Ce projet consiste à concevoir des programmes de compression et de décompression basés sur le codage de Huffman. L'idée du codage Huffman est de minimiser la longueur attendue pondérée du code en attribuant des codes plus courts aux caractères fréquemment utilisés et des codes plus longs au code rarement utilisé.
Détails de mise en œuvre
Les programmes peuvent compresser et décompresser un fichier texte composé de 128 caractères ASCII.
Compression
- Ouvrez le fichier d'entrée, comptez et stockez les fréquences des différents caractères ;
- Construire une file d'attente prioritaire, puis un arbre de Huffman ;
- Calculer la table de codage de Huffman ;
- Encodez le fichier, stockez la table d'encodage Huffman et encodez-le dans le fichier souhaité.
Décompression
- Ouvrez le fichier, recréez l'arbre de Huffman basé sur la table d'encodage de Huffman ;
- Décodez le fichier en fonction de l'arborescence et stockez-le dans le fichier souhaité.