Als Huffman-Code wird ein Verschlüsselungscode für Texte bezeichnet.
Dabei werden dem Auftreten der verschiedenen Buchstaben Häufigkeiten
und damit Wahrscheinlichkeiten zugeordnet.
Diesen Buchstaben werden eindeutige Binärcodes zu geordnet.
Die Wahrscheinlichkeiten der Buchstaben werden in einer Priority
Queue gespeichert.
Zum Erzeugen des Codes werden immer die beiden
kleinsten Werte aus der Queue entnommen (zweimaliges Ausführen von
Extract_Min).
Aus diesen beiden Werten wird ein neuer Knoten mit
der Gesamtwahrscheinlichkeit gebildet.
Dieser wird der Queue wieder hinzugefügt (Insert).
Jedem entnommenen Knoten wird ein Binärcode zugeordnet.
Der Buchstabe mit der höchsten Wahrscheinlichkeit erhält den kürzesten Binärcode, der mit der niedrigsten Wahrscheinlichkeit den längsten.