Algorytm kompresji Tak samo jak w LZ77 jest bufor (albo okno), podzielone na słownik, tj. już zakodowane dane, oraz bufor kodowania, tj. dane mające właśnie zostać zakodowane. Kontekst poprzedza bufor kodowania, jest sufiksem słownika.
Koder wypisuje dwa rodzaje kodów: litera - niezakodowana litera (np. znak ASCII) liczba - długość prefiksu
Algorytm przebiega następująco: Inicjalizacja: N := długość kontekstu s := kodowany tekst i := 0 - bieżąca pozycja Wyzeruj tablicę L przechowującą ostatnie wystąpienia kontekstu Wypisz N pierwszych liter i := N - przesuń okno o N pozycji w lewo Dopóki są dane (i < długość(s)) powtarzaj: P := L[kontekst] - pobierz pozycję ostatniego wystąpienia kontekstu L[kontekst] := i - zapamiętaj bieżącą pozycję Jeśli P nie istnieje (nie było jeszcze takiego kontekstu) wypisz na wyjście pierwszy niezakodowany znak i przesuń okno w lewo o jedną pozycję; i := i + 1. Jeśli P istnieje znajdź najdłuższy podciąg, tzn.