Huffman-Code
Der Huffman-Code wird zur verlustfreien Datenkompression eingesetzt und stellt eine Form der Entropiekodierung dar.Er ist benannt nach David A. Huffman, der ihn 1952 entwickelt hat.
Es wird eine Statistik zumeist für den Text als Ganzes erstellt.
(Es gibt jedoch auch dynamische Varianten.)
Entsprechend der Häufigkeit werden für Gruppen von Ausgangssymbolen (z.B. Wörtern) bestimmte Folgen von 0 und 1 (Codes) in einem Codebuch definiert.
Die Festlegung im Codebuch erfolgt geschickterweise so, dass Untergruppen von Code, die sich durch eine folgende 0 und 1 unterscheiden, einer etwa gleichgroßen Menge an Ausgangszeichen entspricht.
Im Kodiertext wird jeweils nur der Code aufgeschrieben.
Beim Entpacken wird aufgrund des Codes im Codebuch das dazu passende Originalwort nachgesehen, ausgelesen und damit der Originaltext wieder hergestellt.
Die Idee der Huffman-Codierung geht auf das Prinzip des Morsealphabets zurück. Dort werden den häufig vorkommenden Symbolen (in diesem Fall sind das Buchstaben) kürzere Codes zugeordnet als den seltener vorkommenden.
siehe auch: Shannon-Fano-Code
Prinzip
Geschichte