Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Aufgaben und <strong>Lösungen</strong> 1-49<br />
Aufgabe 3.2.6 (M2)<br />
Welche Bedingungen sind dafür hinreichend und notwendig, dass der Huffman-Algorithmus<br />
einen Block-Code liefert?<br />
Lösung<br />
Unter einem Block-Code versteht man einen Code <strong>mit</strong> konstanter Wortlänge, d.h. alle Code-<br />
Wörter haben dieselbe Länge. Da<strong>mit</strong> dies erreicht wird, muss der Huffman-Baum ausgeglichen<br />
sein, dafür ist erforderlich, dass die Anzahl der Zeichen eine Potenz von 2 ist. Für jeden<br />
Knoten auf einem bestimmten Niveau des Huffman-Baums muss außerdem gelten, dass die<br />
ihm zugeordnete Wahrscheinlichkeit größer ist, als jede Wahrscheinlichkeit in dem vorhergehenden<br />
Niveau. Dies ist zum Beispiel jedenfalls dann der Fall, wenn alle<br />
Auftrittswahrscheinlichkeiten gleich sind. Die Bedingung kann aber weiter gefasst werden: es<br />
müssen auf jedem Niveau, die den Knoten zugeordneten Wahrscheinlichkeiten größer sein,<br />
als die Wahrscheinlichkeiten aller vorangehenden Knoten. Das folgende Beispiel demonstriert<br />
dies.<br />
Beispiel: Code: 111 110 101 100 011 010 001 000<br />
wi 0.10 0.10 0.11 0.12 0.13 0.14 0.15 0.15<br />
1 0 1 0<br />
0.20 0.23<br />
1<br />
0.43<br />
0<br />
1<br />
1.00<br />
1 0 1 0<br />
0.27 0.30<br />
0<br />
1<br />
0.57<br />
0