Este proyecto implementa un compresor y descompresor de archivos de texto utilizando el algoritmo de Huffman, un clásico ejemplo de algoritmo Greedy.
El objetivo es reducir el tamaño de los archivos de texto asignando códigos binarios más cortos a los caracteres más frecuentes.
- 📄 Entrada real desde un archivo
.txt - 🧠 Implementación paso a paso del algoritmo de Huffman (Greedy)
- 💻 Interfaz gráfica simple con Tkinter
- 🔁 Funciones de compresión y descompresión
- 🧩 Código modular y fácil de entender
El algoritmo de Huffman es Greedy (voraz) porque en cada paso elige los dos nodos con menor frecuencia para combinarlos en uno nuevo.
Este proceso se repite hasta obtener un solo árbol, minimizando la longitud promedio del código binario.
graph TD
C["C(1)"] --> CD["CD(2)"]
D["D(1)"] --> CD
CD --> CDB["CDB(4)"]
B["B(2)"] --> CDB
R["R(2)"] --> RCDB["RCDB(6)"]
CDB --> RCDB
A["A(5)"] --> ROOT["Raíz(11)"]
RCDB --> ROOT
python -m venv .venv
source .venv/bin/activate # Linux / Mac
# o en Windows:
# .venv\Scripts\activatepython main.py