Cet applet illustre l'algorithme de compression LZW.

De haut en bas, on trouve :

Tapez une chaine en majuscules dans la zone entrée, par exemple LEKATANADETAKATAKATA ensuite cliquez sur démarrer en bas.

NB: le programme n'accepte que des majuscules, pas d'espaces ou autre, parce que c'est seulement ce qui est prévu dans le dictionnaire initial du décodeur.

On rappelle que cet algo consiste à construire un dictionnaire avec toutes les séquences composées d'une séquence du dictionnaire et d'un caractère qui la rend unique. Le compresseur émet des codes qui sont les indices des séquences connues.

initialiser le dictionnaire avec tous les symboles possibles, ex : tous les codes ascii
précédente := vide
TQ c := lire 1 caractère
    sequence := précédente + c
    si dictionnaire.contient(sequence) alors
        précédente := sequence
    sinon
        produire le code dictionnaire.position(précédente)
        dictionnaire.ajouter(sequence)
        précédente := c
    finsi
finTQ
produire le code dictionnaire.position(précédente)
Activez les applets java pour voir la démo
auteur Pierre Nerzic décembre 2007