Codificación LZW

Dada una "frase" de un alfabeto de M letras, el pseudocódigo del algoritmo es:

	1. Inicializar una tabla (diccionario), asignando a cada letra un código de 0 a M-1.
	2. Inicializar C = primera letra de la frase.
	3. Sea K el siguiente carácter en la frase
	4. Si CK es una palabra del diccionario
		C =CK
		ir al paso 3.
	    En otro caso, 	
		añadir CK al diccionario asignandole un código n no utilizado, c(CK)=n.
		C=K
		ir al paso 3.
         

Por ejemplo, supongamos que disponemos de un alfabeto con 3 letras A, B, C. Queremos codificar la palabra ABACABA.

Primero codificamos el alfabeto: c(A)=0, c(B)=1, c(C)=2.

Los pasos del algoritmo son:

C K Diccionario Código
    A 0
    B 1
    C 2
A B AB 3
B A BA 4
A C AC 5
C A CA 6
A B AB  
AB A ABA 7
A      

La frase codificada sería ABACABA=010230 (fijándonos en la primera columna: C).