28.03.2014 Aufrufe

Informatik 1 - Mitschriften von Klaas Ole Kürtz

Informatik 1 - Mitschriften von Klaas Ole Kürtz

Informatik 1 - Mitschriften von Klaas Ole Kürtz

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

nur für ausgewogene Bäume! Lösung: Bäume ausgewogen halten, siehe z.B.<br />

Vorlesung <strong>Informatik</strong> II mit AVL-Bäumen oder Red-Black-Trees).<br />

Anwendung <strong>von</strong> Mengen:<br />

• in Datenbanksystemen, Elemente sind ein Paar (Schlüssel Inhalt),<br />

so daß eine totale Ordnung der Elemente aufgrund der totalen Ordnung<br />

der Schlüssel möglich wird, damit ist ein schneller Zugriff auf die Daten<br />

möglich; in solchen Systemen ist auch die logarithmische Komplexität<br />

wichtig.<br />

• Darstellung <strong>von</strong> Daten: 0-1-Folgen (Bitfolgen), z.B. ASCII-Code (7 Bit,<br />

128 verschiedene Zeichen); Nachricht mit 10 Zeichen: Codierung 70<br />

Bits; allgemein: Codierung N verschiedener Zeichen mit log 2 N Bits pro<br />

Symbol<br />

Beispiel: Nachricht mit einem Symbolvorrat <strong>von</strong> 8 Zeichen (A, B, C,<br />

D, E, F G, H), damit reichen 3 Bits aus: A = 000; B = 001; C = 010;<br />

D = 011; E = 100; F = 101; G = 110; H = 111. Da der Code eine<br />

feste Länge hat, kann man die Zeichenfolge 000001010011 eindeutig<br />

zu ABCD decodieren. Nachteil: unterschiedliche Häufigkeit einzelner<br />

Zeichen wird nicht berücksichtigt! Ansatz: Code variabler Länge, z.B.<br />

kommt A besonder häufig vor, so z.B. A = 0; B = 100; C = 1010;<br />

D = 1011; E = 1100; F = 1101; G = 1110; H = 1111. Damit ist die<br />

Codierung einer Zeichenfolge mit vielen As kürzer; schwierig: wo fängt<br />

bei einer Zeichfolge das nächste Zeichen an? Lösung: Präfixcode: kein<br />

Code ist Präfix eines anderen Codes.<br />

3.2.5 Huffmann-Bäume (siehe auch externes Blatt)<br />

Konstruktion solcher Codes durch Huffman-Codierung; Idee: Code als Binärbaum;<br />

Blätter: einzelne Zeichen mit Gewichtung (Häufigkeit); Innere Knoten:<br />

Zeichenmengen (Vereinigung der Sohnknoten) mit Gewichtung (Summe der<br />

Gewichtungen der Sohnknoten); zum Beispiel:<br />

+ 0 A (8)<br />

1 0 0 B (3)<br />

1 0 C (1)<br />

1 D (1)<br />

1 0 0 E (1)<br />

0 F (1)<br />

1 1 G (1)<br />

1 H (1)<br />

30

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!