Los compresores de cadenas basados en diccionarios son muy rápidos yeficientes. Sin embargo, por tratarse de algoritmos “greedy”, siempre padecende una cierta pérdida de compresión que es sacrificada en pro de la velocidadde cómputo.
Para entender esto valga el siguiente ejemplo. Supongamos que estamos usandoLZSS para comprimir la cadena “Hola caracola” y el en diccionario existen lascadenas “Hol”, “a c”, “aracola” y “ caracola”. Utilizando una técnica greedy, sintener en cuenta los símbolos futuros, se generarían los siguientes códigos(suponiendo 12 bits para el índice i y 4 bits para la longitud de la cadenaj):
cadena
longitud
“Hol”
17 bits
“a c”
17 bits
“aracola”
17 bits
Sin embargo, también podría haberse producido la compresión: