Huffman-Codierungsrechner
Erstellen Sie Huffman-Codes für die Textkomprimierung. Sehen Sie sich die Codierungstabelle, die komprimierte Ausgabe und das Komprimierungsverhältnis an.
Huffman-Codierungsrechner
So verwenden Sie den Huffman-Codierungsrechner
- Geben Sie den Text, den Sie komprimieren möchten, in das Eingabefeld ein oder fügen Sie ihn ein.
- Klicken Sie auf „Encode“ – der Rechner zählt die Zeichenhäufigkeiten und erstellt den Huffman-Baum.
- Sehen Sie sich die Codierungstabelle an, die den Huffman-Code jedes Zeichens und die verwendeten Bits zeigt.
- Überprüfen Sie die Zusammenfassung auf Originalgröße, komprimierte Größe, Komprimierungsverhältnis und durchschnittliche Codelänge.
Anwendungsfälle
- •Lernen Sie in Informatikkursen, wie verlustfreie Komprimierungsalgorithmen funktionieren.
- •Demonstration der Beziehung zwischen Zeichenhäufigkeit und Codelänge.
- •Vergleich der Huffman-Komprimierungseffizienz verschiedener Texttypen.
- •Verständnis der theoretischen Grundlagen für reale Komprimierungsformate wie DEFLATE (verwendet in ZIP und PNG).
Formel
Die Huffman-Codierung ist ein gieriger präfixfreier Codierungsalgorithmus. Es wird ein Binärbaum erstellt, in dem jedes Blatt ein nach seiner Häufigkeit gewichtetes Zeichen darstellt. Häufigere Zeichen erhalten kürzere Codes. Der Algorithmus: (1) Zeichenhäufigkeiten zählen; (2) Erstellen Sie einen Min-Heap aus Einzelknotenbäumen. (3) Führen Sie die beiden Knoten mit der niedrigsten Frequenz wiederholt zusammen, bis ein Baum übrig bleibt. (4) Weisen Sie den linken/rechten Zweigen 0/1 zu, um Codes abzuleiten.
Häufig gestellte Fragen
Was ist Huffman-Codierung?
Die Huffman-Codierung ist ein verlustfreier Datenkomprimierungsalgorithmus, der 1952 von David A. Huffman erfunden wurde. Er weist Zeichen basierend auf ihrer Häufigkeit Binärcodes variabler Länge zu – häufige Zeichen erhalten kurze Codes und seltene Zeichen lange Codes. Die resultierenden Codes sind präfixfrei, das heißt, kein Code ist ein Präfix eines anderen, was eine eindeutige Decodierung ermöglicht.
Wie wird das Kompressionsverhältnis berechnet?
Die Originalgröße geht von 8 Bit pro Zeichen aus (Standard ASCII/UTF-8 für englischen Text). Die komprimierte Größe ist die Summe aus (Codelänge × Häufigkeit) für alle Zeichen. Komprimierungsverhältnis = komprimierte Größe / Originalgröße. Ein Verhältnis unter 1 (oder unter 100 %) weist auf eine Platzersparnis hin. Typischer englischer Text erreicht 40–60 % der Originalgröße.
Warum erfordert die Huffman-Codierung mindestens zwei verschiedene Zeichen?
Die Huffman-Codierung erstellt einen Binärbaum, der jedem Zeichen unterschiedliche Bitmuster zuordnet. Wenn alle Zeichen in der Eingabe gleich sind, gibt es nur einen Blattknoten und es ist keine Verzweigung möglich – der Baum kann keinen gültigen präfixfreien Code erzeugen. In der Praxis würde eine Zeichenfolge aus einem eindeutigen Zeichen als ein einzelnes wiederholtes Bit codiert, dieser Randfall erfordert jedoch eine spezielle Behandlung außerhalb des Standardalgorithmus.