Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
faecher:informatik:oberstufe:codierung:lzw:start [03.10.2022 17:55] – [Beispiel] Frank Schiebel | faecher:informatik:oberstufe:codierung:lzw:start [03.10.2022 18:29] – [Decodierung] Frank Schiebel | ||
---|---|---|---|
Zeile 29: | Zeile 29: | ||
===== Beispiel ===== | ===== Beispiel ===== | ||
+ | ==== Codierung ==== | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | Die Zeichenkette '' | ||
+ | |||
+ | ^ Noch zu bearbeitende Zeichenkette | ||
+ | | **B**ABAABBAA | ||
+ | | **A**BAABBAA | ||
+ | | **BA**ABBAA | ||
+ | | **AB**BAA | ||
+ | | **BAA** | ||
+ | |||
+ | Die Zeichenfolge wird also folgendermaßen codiert: **042041100101102< | ||
+ | |||
+ | ==== Decodierung ==== | ||
+ | |||
+ | Bei der **Decodierung** werden 12-Bit-Blöcke eingelesen. Das Wörterbuch wird während des Vorgangs mit Einträgen befüllt die aus dem ersten Zeichen des aktuellen Eintrag und dem vorangehenden Eintrag bestehen. Wir nehmen den codierten String von oben: **042041100101102< | ||
+ | |||
+ | ^ Aktueller 12Bit-Block (Hexadezimal) ^ Gefundener Eintrag (erster Buchstabe) ^ Neuer Wörterbucheintrag ^ Ausgabe ^ | ||
+ | | 042 | B (B) | | B | | ||
+ | | 041 | A (A) | BA = 100< | ||
+ | |||
+ | 100 | ||
+ | BA (B) | ||
+ | AB = 10116 | ||
+ | BA | ||
+ | 101 | ||
+ | AB (A) | ||
+ | BAA = 10216 | ||
+ | AB | ||
+ | 102 | ||
+ | BAA (B) | ||
+ | ABB = 10316 | ||
+ | BAA | ||
- | Die Zeichenkette '' | ||
===== Material ===== | ===== Material ===== | ||
{{simplefilelist> | {{simplefilelist> | ||