Sei sulla pagina 1di 19

ESTRUCTURA DE DATOS

INTRODUCCIN
Este Algoritmo fue desarrollado por el
norteamericano David Albert Huffman en
1952 mientras hacia su doctorado en el MIT.
El algoritmo funciona a partir de un conjunto
dados de smbolos con sus respectivos
pesos(frecuencia).
La salida del algoritmo es el mismo conjunto
de smbolos de entrada codificado mediante
un cdigo binario con un tamao menor.
DEFINICION
Es un algoritmo usado para la comprensin o
encriptacin de datos mediante el estudio de
la frecuencia de aparicin de los caracteres o
simbolos .
Este algoritmo se usa precisamente para
construir cdigos de Huffman.
CODIGO DE HUFFMAN
Un cdigo de huffman es un cdigo de
longitud variable, en el que la longitud de
cada cdigo depende de la frecuencia de
aparicin de cada smbolo en un texto.
Cuanto mas frecuente sea un smbolo su
cdigo asociado ser mas corto. Adems, un
cdigo Huffman es un cdigo libre de
prefijos, es decir ningn cdigo forma parte
de otro cdigo; esto permite que los
mensajes codificados sean no ambiguos.
OBJETIVOS
El objetivo mas importante es reducir la
cantidad de espacio que ocupa la informacin
a codificar .
VENTAJAS Y DESVENTAJAS
Ventajas:
Es muy fcil codificar y decodificar
- Solo reemplazar
-Cada cdigo tiene las misma longitud
Desventaja:
-La cadena resultante es muy larga
comparada con el mensaje
EJEMPLO :
PASO 1:Empezemos con una
palabra , sea el caso ingeniero


PASO 2: Lo siguiente es ordenar estos
caracteres en funcin a las frecuencias
obtenidas, de menor a mayor y dejando solo
el carcter con su correspondiente frecuencia,
quedara de la siguiente manera.

Paso 3: Lo siguiente es la construccin de un
rbol binario mediante la unin de nodos que
contienen el carcter y su respectiva
frecuencia, los nodos que tenemos hasta
ahorita son los siguientes.


PASO 4: Ahora lo que toca hacer es ir uniendo los nodos
consecutivos en pares, sumaremos las frecuencias de
esos dos nodos y luego con ellos crearemos un nuevo
nodo. El nuevo nodo contendr un caracter "null",
seguido de la frecuencia obtenida al sumar las 2
frecuencias de los nodos con que se form. Para
entender mejor el concepto realizaremos este paso con
los primeros 2 nodos de nuestro conjunto. El resultado es
el siguiente.
PASO 5: Ahora, si seguimos el mismo
procedimiento podemos concluir que
obtendremos un rbol binario, donde las hojas
del mismo sern los caracteres de nuestra
palabra. Al seguir realizando el mismo
procedimiento obtendremos lo siguiente
PASO 6:Seguimos el proceso
secuencialmente.

PASO 7: Hacemos el mismo procedimiento
con los nodos nuevos, se crea un nodo nuevo
con la suma de las frecuencias, y le antecede
un null.


PASO 8: Al final queda un rbol binario de la
siguiente manera.


PASO 9: Lo siguiente es asignar ceros y unos
a las ramas del rbol, las de la izquierda
sern ceros, mientras que las de la derecha
sern unos.


PASO 10: Lo siguiente es asignar ceros y
unos a las ramas del rbol, las de la
izquierda sern ceros, mientras que las de
la derecha sern unos.

PASO 11:Codificamos las letras

i->111
n->00
g->100
e->01
r->101
o->110

Paso 12:Al final obtenemos nuestro cdigo de
huffman.

i-n-g-e-n-i-e-r-o
11100100010011101101110

VIDEO

Potrebbero piacerti anche