Insisto este es un foro de ASM...
La duda que tenés tendrías que presentarla en el foro de algorítmia o alguno más relacionado al tema, donde haya gente más capaz que nosotros en esa materia, pero una contestación medio escueta puedo darte.
Los algoritmos de compresión de datos trabajan sintetizando patrones repetidos. Por ejemplo, si tenés el siguiente texto: HolaHolaHola, un algoritmo podría detectar que el patrón "Hola" se repite 3 veces y hacer un archivo "comprimido" que diga, por ejemplo: 3Hola, cosa que al descomprimirse lea el número y lo interprete como la cantidad de veces que debe escribir "Hola".
Por supuesto, los algoritmos son generalmente más complicados, aunque esa técnica que te expliqué se usó, por ejemplo, en los archivos de imagen PCX, para evitar guardar pixel contiguos del mismo color y recibe el nombre de "run length encoding".
Otro algoritmo sencillo pero mucho más efectivo es el Huffman, que es el que usan muchos compresores de archivos en combinación con otros algoritmos más poderosos e incluso lo emplean los archivos .GIF
Bueno, suerte y espero esto te sirva...