Códigos de Huffman
Códigos de Huffman
Códigos de Huffman
HUFFMAN
Grupo.
Brayan Javier Becerra Sandoval
Cristian Arias Creado por:
David A. Huffman
En 1952
CÓDIGOS HUFFMAN
Es un método general de codificación y compresión diseñado para minimizar el número
medio de bits necesarios para transmitir un símbolo cuando se debe transmitir varias
copias independientes y estadísticamente equivalentes de dicho símbolo. Este método
determina cómo los distintos valores del símbolo deben representarse como cadenas
binarias. Fue desarrollado por David A. Huffman mientras era estudiante de doctorado en
el MIT (Instituto de Tecnología de Massachusetts).
La idea básica de los códigos de Huffman se basa en utilizar cadenas cortas de bits para
los caracteres de uso frecuente y utilizar cadenas de bits de mayor tamaño para los
caracteres que tienen una frecuencia menor de uso.
El algoritmo consiste en la creación de un árbol binario que tiene cada uno de los
símbolos por hoja, y construido de tal forma que siguiéndolo desde la raíz a cada una de
sus hojas se obtiene el código Huffman asociado a él.
PASOS PARA LA CODIFICACIÓN
1. Se crean varios árboles, uno por cada uno de los símbolos del alfabeto, consistiendo cada uno de los
árboles en un nodo sin hijos, y etiquetado cada uno con su símbolo asociado y su frecuencia de aparición.
2. Se toman los dos árboles de menor frecuencia, y se unen creando un nuevo árbol. La etiqueta de la raíz
será la suma de las frecuencias de las raíces de los dos árboles que se unen, y cada uno de estos árboles
será un hijo del nuevo árbol. También se etiquetan las dos ramas del nuevo árbol: con un 0 la de la
izquierda, y con un 1 la de la derecha.
3.Se repite el paso 2 hasta que solo quede un árbol.
Con este árbol se puede conocer el código asociado a un símbolo, así como obtener el símbolo asociado a
un determinado código.
Para obtener el código asociado a un símbolo se debe proceder del siguiente modo:
1. Comenzar con un código vacío
2. Iniciar el recorrido del árbol en la hoja asociada al símbolo
3. Comenzar un recorrido del árbol hacia arriba
4. Cada vez que se suba un nivel, añadir al código la etiqueta de la rama que se ha recorrido
5. Tras llegar a la raíz, invertir el código
6. El resultado es el código Huffman deseado
PASOS PARA LA CODIFICACIÓN
100
55
1
45
25 30
0,5 A
0,2 12 13 14 16
C B D
x1 x2 x3 x4 F E
BIBLIOGRAFÍA
https://neo.lcc.uma.es/evirtual/cdd/tutorial/presentacion/huffman.html
https://www.ecured.cu/Código_de_Huffman#:~:text
=La%20idea%20básica%20de%20los,una%20frecuencia%20menor%20
de%20uso
.
https://www.youtube.com/watch?v=DjdmAFFoBnE
https://es.wikipedia.org/wiki/Algoritmo_de_Huffman