Skip to content

Vorlesung 04 - Binäre Codierung

Datum: 27.10.2025

Ziele

  • Algorithmen zur Erzeugung optimaler Binärcodes verstehen

Drehbuch

Was Dauer Material
Spielerische Einführung mit Drum Composer 20 min Drum Composer
Fano-Shannon Algorithmus mit Implementierung 30 min DAVT-04-Codierung.pdf bis Folie 16
Huffman Code mit Implementierung 25 min DAVT-04-Codierung.pdf Folien 17-23
Encoding und Decoding 10 min DAVT-04-Codierung.pdf Folie 24-28
Codierung des Huffman Baums 10 min DAVT-04-Codierung.pdf ab Folie 29

Ergebnisse

Tafelbilder

Zuerst wurde versucht ein Code zu entwickeln, der die eingesetzten Symbole möglichst kurz codiert. Es wurde kein bestimmter Algorithmus verwendet, sondern die Studierenden sollten selbst kreativ werden. Tafelbild

Im Zuge des Dekodierens wurde nochmal der Sinn und Zweck von Präfixcodes am Binärbaum hervorgehoben. Tafelbild

Dann wurde der Fano-Shannon Algorithmus vorgestellt und gemeinsam ein Beispiel durchgearbeitet.

Tafelbild

Anschließend wurde der Huffman Algorithmus vorgestellt und ebenfalls ein Beispiel gemeinsam erarbeitet.

Tafelbild

In einer Tabelle wurden die Unterschiede der beiden Algorithmen zusammengefasst und auch mit dem Ergebnis von der Webseite Drum Composer verglichen.

Tafelbild

Erarbeiteter Quellcode

Shannon-Fano Coding: fano.py

Huffman Coding: huffman.py

Trivia

Der im Code verwendete Text enthält nicht alle Werke Shakespeares und daher auch nicht die Rede Hamlets. Aber das ist auch schon anderen aufgefallen und wird hier moniert. Eine Textdatei mit dem vollständigen Werk Shakespeares findet sich hier beim Project Gutenberg.

Was man verstanden haben sollte

  • wie der Fano-Shannon und der Huffman Algorithmus zur Erstellung von Binärcodes funktionieren
  • dass man bei beiden Verfahren die Codetabelle mit übertragen muss, um die Nachricht dekodieren zu können