Algoritmo de Compresión de HuffmanEl algoritmo de compresión de Huffman se basa en asignar una longitud variable a cada carácter en función de la frecuencia en que aparece en el archivo. Cuanto mas aparezca un carácter menor será su tamaño. Pasos del algoritmo:
Por ejemplo para el texto: ABRACADABRAPATADECABRA
(E, 1) (T, 1) (P,1) (D, 2) (R,3) (B,3) (A,9) Y el árbol resultante:
Haciéndolo así, los códigos de los caracteres serian:
Para descomprimir un archivo así comprimido se tiene una tabla con la codificación de los caracteres. Se va leyendo bit a bit hasta que localicemos una subcadena que se encuentre en la tabla, la sustituimos por su carácter y seguimos leyendo el siguiente bit. Este algoritmo funciona ya que para un carácter solo hay un recorrido posible en el árbol y dado un recorrido solo hay un carácter posible que lo cumpla. Luis Jose Cabellos |