Huffman-Codierung
Ein C++-Komprimierungs- und Dekomprimierungsprogramm basierend auf Huffman Coding.
Einführung
Bei diesem Projekt geht es darum, Komprimierungs- und Dekomprimierungsprogramme basierend auf Huffman Coding zu entwerfen. Die Idee der Huffman-Codierung besteht darin, die gewichtete erwartete Länge des Codes zu minimieren, indem häufig verwendeten Zeichen kürzere Codes und selten verwendeten Codes längere Codes zugewiesen werden.
Implementierungsdetails
Die Programme können Textdateien mit 128 ASCII-Zeichen komprimieren und dekomprimieren.
Kompression
- Öffnen Sie die Eingabedatei, zählen und speichern Sie die Häufigkeit verschiedener Zeichen.
- Erstellen Sie eine Prioritätswarteschlange und dann einen Huffman-Baum.
- Berechnen Sie die Huffman-Kodierungstabelle.
- Codieren Sie die Datei, speichern Sie die Huffman-Codierungstabelle und codieren Sie sie in die gewünschte Datei.
Dekompression
- Datei öffnen, Huffman-Baum basierend auf der Huffman-Encode-Tabelle neu erstellen;
- Dekodieren Sie die Datei anhand des Baums und speichern Sie sie in der gewünschten Datei.