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.

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

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

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

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

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