Algoritmo de huffman
El algoritmo funciona construyendo un árbol binario desde abajo hacia arriba utilizando las frecuencias de cada símbolo para ir uniendo los sub-árboles.
A cada rama derechadel árbol se le asignará un 1 y a cada rama izquierda un 0. Cada símbolo será una hoja del árbol.
El árbol que se construirá será un árbol completo, o sea que cada nodo será o bien una hoja o tendrádos nodos hijos. En la siguiente figura se puede ver un ejemplo de un árbol de Huffman para cinco caracteres (C,E,D,B y A).
Árbol de Huffman
Intuitivamente, los símbolos que ocurren másfrecuentemente deben estar más arriba en el árbol que los que ocurren menos frecuentemente.
El código para cada símbolo se obtiene comenzando en el nodo principal y viajando hacia abajo hasta la hoja enque se encuentra el símbolo que quiero.Cuando me muevo hacia la izquierda de un nodo le agrego un 0 al código y cuando me muevo hacia la derecha le agrego un 1.
En su algoritmo, Huffman define elconcepto de "peso".El peso de cada símbolo es su frecuencia; y para un árbol, su peso será la suma de los pesos de sus hojas.
El algoritmo de Huffman puede resumirse de la siguiente manera:
While(no se hayan conectado todos los árboles)
{ tomar el árbol con menor peso
conectarlo con el siguiente árbol de menor peso
}
Fuente:http://iie.fing.edu.uy/ense/asign/dsp/proyectos/2002/compresion/comhuff.htm
Algoritmo de Huffman
El algoritmo de Huffman se usa para la compresión o encriptación de datos mediante el estudio de la frecuencia de aparición de caracteres. Fue desarrollado por elnorteamericano David Albert Huffmanen 1952 mientras hacía el doctorado en el MIT. El método fue publicado en una revista como A Method for the Construction of Minimum-Redundancy Codes. El algoritmofunciona a partir de un conjunto dado de símbolos con sus respectivos pesos. Los pesos son la frecuencia de aparición en una cadena. Por ejemplo en la cadena Genciencia el peso del símbolo i es 2, ya...
Regístrate para leer el documento completo.