70 likes | 235 Views
LZW algoritmus. Algoritmus és adatszerkezet 2010. Tavaszi félév. Alapok:. Az LZW algoritmus nem elemzi a bejövő adatokat. A kódtábla első 256 kódját alapértelmezés szerint hozzárendelt szabványos kódlap.
E N D
LZW algoritmus Algoritmus és adatszerkezet 2010. Tavaszi félév Tóth Norbert
Alapok: • Az LZW algoritmus nem elemzi a bejövő adatokat. A kódtábla első 256 kódját alapértelmezés szerint hozzárendelt szabványos kódlap. A 0-255 ASCII kód az 1 byte-os karakterekre vonatkoznak, míg a stringeket 256-4095 közötti kódok jelölik.
Tömörítés A kódoló csak szótárbeli indexet küld. A szótár dinamikusan bővül, kiinduló állapotban az összes egybetűs szimbólumot tartalmazza. A kódolás elve: Az aktuális pozíciótól kezdve addig kell a szimbólumokat beolvasni, amíg a sorozat szerepel a szótárban. Ezután elküldjük ezen sorozat indexét, a szótárba felvesszük kiegészítve a következő szimbólummal, és az algoritmust ettől a szimbólumtól folytatjuk.
Példa ABACABAD tömörítése: Az egybetűs szimbólumokhoz kódot rendelünk: A #0, B #1, C #2, D #3 Ezeket a következő módon egészítjük ki a következő szimbólummal: AB #4, BA #5, AC #6, CA #7, ABA #8, AD #9
Kimenet #0 #1 #0 #2 #4 #0 #3
Előnyök • Veszteségmentes tömörítés • Radikális fájlméret csökkenés (képek, pl: GIF)
Hátrányok • Túl sok bitet tárol • Mindenképp szükség van egy szótárra • Csak angol karakterkészletre vonatkozik