LZW: Porovnání verzí

Smazaný obsah Přidaný obsah
TXiKiBoT (diskuse | příspěvky)
m robot přidal: et:Lempel-Ziv-Welch
Řádek 2:
 
== Popis algoritmu ==
Kódovací algoritmus si postupně vytváří kódovací tabulku ze slov použitých v již zakódovaném textu. Tato tabulka mapuje vstup na slova/stringy s pevně stanovenou délkou. Na počátku je tabulka inicializována pomocí všech jednoznakových slov použité abecedy. A dále algoritmus sériově prohledává text, ukládá si do tabulky každé unikátní dvouznakové slovo jako zřetězení vzoru a kódu (něco jako slovník). A jakmile má uloženyuložena všechna dvouznaková slova pošle na výstup kód prvního na vstupu. Algoritmus pokračuje v kódování, jakmile je na vstupu nalezeno již známé slovo (tj. je již v tabulce) na výstup se pošle odpovídající kódový znak plus před ním první znak kódovaného slova.
 
Dekompresnímu algoritmu stačí jen zkomprimovaný text, je schopen si slovník sám zpětně vytvořit. Ovšem při tomto postupu se může dojít k chybné dekompresi. Při situaci znak-slovo-znak-slovo-znak kde znak a slovo jsou stejná a dekompresor má již ve svém slovníku uloženo znak-slovo pak pokud dále načte znak-slovo-znak není pak schopen toto dekódovat neboť to nezná.