Volver a proyectosArchivo
Huffman Coding
Implementación de Huffman Coding que compara codificación fija contra compresión basada en frecuencia, mostrando el ahorro de espacio.
Contexto
Se creó como ejercicio de estructuras de datos enfocado en compresión, a partir de una pregunta clásica: cómo representar el mismo mensaje con menos bits cuando la frecuencia de símbolos no es uniforme.
Problema
Una representación de longitud fija desperdicia espacio cuando algunos símbolos aparecen mucho más que otros, así que el proyecto necesitaba comprimir texto sin perder información.
Solución
El programa calcula la frecuencia de cada símbolo, construye un árbol de Huffman, genera códigos de longitud variable y reporta la salida codificada junto con el ahorro frente a la representación original.
Decisiones clave
- -Se usó una estructura de árbol binario para que el proceso de compresión fuera claro y trazable.
- -Se reportó tanto la cadena codificada como el porcentaje de ahorro para medir el beneficio de forma explícita.
- -Se mantuvo un flujo basado en archivo de entrada para que la ejecución fuera reproducible.
Características clave
- -Análisis de frecuencia sobre el mensaje de entrada
- -Construcción del árbol de Huffman para codificación variable
- -Generación del mapa de códigos por símbolo
- -Comparación entre bits originales y bits comprimidos
Resultados
- -Hace visible el valor de Huffman Coding con una salida de compresión concreta.
- -Demuestra soltura con árboles, lógica de codificación y reportes algorítmicos.
- -Refuerza la parte más de ciencias de computación dentro del portafolio.
Stack
JavaData StructuresAlgorithmsBinary Trees