Ideado por David A. Huffman en 1952 [10], es una de las codificaciones másutilizadas actualmente debido a su sencillez, buen rendimiento y facilidad deuso.
Al igual que la codificación de Shannon-Fano, se basa en la idea de utilizarcódigos de compresión de longitud variable de forma que aquellos símbolosmás frecuentes se representan mediante los códigos más cortos y viceversa.
El codificador crea los códigos mediante un árbol binario en el cual lossímbolos están en las hojas y las ramas son etiquetadas usando los dígitosbinarios 0 y 1. La distancia de un símbolo a la raíz del árbol define la longituddel código de Huffman asignado a dicho símbolo, y esto depende en últimainstancia de la probabilidad del símbolo. En concreto, el código asignado aun símbolo es aquel número binario que resulta de viajar desde la raíz hastadicho símbolo.
La codificación de Huffman es más eficiente que la de Shannon-Fano porqueel número de bits de datos asociado a cada código se aproxima más al númerode bits de información.