Codificación Huffman
Un programa de compresión y descompresión en C++ basado en Huffman Coding.
Introducción
Este proyecto consiste en diseñar programas de compresión y descompresión basados en Huffman Coding. La idea de Huffman Coding es minimizar la longitud esperada ponderada del código mediante la asignación de códigos más cortos a los caracteres utilizados con frecuencia y códigos más largos al código rara vez utilizado.
Detalles de implementación
Los programas pueden comprimir y descomprimir archivos de texto que constan de 128 caracteres ASCII.
Compresión
- Abra el archivo de entrada, cuente y almacene las frecuencias de diferentes caracteres;
- Construya la cola de prioridad y luego el árbol de Huffman;
- Calcular la tabla de codificación de Huffman;
- Codifique el archivo, almacene la tabla de codificación Huffman y codifique en el archivo deseado.
Descompresión
- Abra el archivo, vuelva a crear el árbol Huffman según la tabla de codificación Huffman;
- Decodifica el archivo según el árbol y guárdalo en el archivo deseado.