30.11.2012 Aufrufe

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!