Algorytm kompresji (kodowania) Wyzeruj słownik i := 0 - bieżąca pozycja T := kodowany tekst P := "" - poprzednie słowo, inicjowane na puste Dopóki i < długość(T), wykonuj: Znajdź najdłuższy prefiks niezakodowanych danych który znajduje się w słowniku - wynikiem jest bieżące słowo S o kodzie k i długości n znaków Na wyjście wypisz kod k Do słownika dodaj słowo jeśli jeszcze nie istnieje i := i + n P := S
Algorytm dekompresji Algorytm dekompresji jest identyczny jak w metodzie LZW.
Przykład kompresji Zostanie zakodowany ciąg składający się z 12 znaków: "aaaaabbbaaaa".
poprzedni ciąg (P) bieżący symbol (S) P + S indeks (k) słownik komentarz 1. a2. b3. c inicjalizacja słownika alfabetem a a 1 - indeks 'a' nic nie jest dodawane do słownika, P := 'a' a a aa 1 - indeks 'a' 4. aa do słownika jest dodawany ciąg 'aa', P := 'a' a aa aaa 4 - indeks 'aa' 5. aaa do słownika jest dodawany ciąg 'aaa', P := 'aa' aa a aaa 1 - indeks 'a' nic nie jest dodawane do słownika, P := 'a' a b ab 2 - indeks 'b' 6. ab do słownika jest dodawany ciąg 'ab', P := 'b' b b bb 2 - indeks 'b' 7. bb do słownika jest dodawany ciąg 'bb', P := 'b' b b bb 2 - indeks 'b' nic nie jest dodawane do słownika, P := 'b' b aaa baaa 5 - indeks 'aaa' 8.