Je cherche un algo à implementer en java, la seule contrainte c'est qu'il doit être très léger en usage mémoire (par exemple 4ko à 32 ko maximum en usage mémoire), mais plutot 4ko, est-ce, d'une part ca existe et d'autre part, quels sont les algos correspondant à ces critères que vous connaissez, j'en ai besoin pour une JVM qui a très peu de mémoire. Je sais que beaucoup d'algo sur HP ou TI, il y a quelques années ne pouvaient utiliser que très peu de mémoire, mais je ne les connais pas.
RLE ne sert pas à grand chose dans mon cas, huffman pkoi pas, mais j'ai à peine une matinée pour l'implémenter, donc peut être un peu court, ce qu'il me faudrait c'est un algo assez simple et pas forcement super performant, mais très léger en usage mémoire.
hibou Le 09/07/2004 à 20:49 les algos RLE et huffmann sont les plus simples que je connaisse.
Tu dois pouvoir trouver sur internet du code tout fait pour huffman.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Uther Le 10/07/2004 à 11:22 le LSW n'est pas non plus d'une complexité féroce mais il faut une certaine taille mémoire pour le dictionnaire donc ca risque de faire trop.
Je ne connais rien à LZW, mais je signale juste que la doc du programme BZComp sur Hp (un compresseur qui fonctionne avec LZ77) indique que la taille des buffers utilisés n'a d'influence que sur la vitesse de compression, pas sur l'efficacité, et qu'on peut prendre de petits buffers..
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou
IBM a toujours un brevet sur le LZW, qui n'expire qu'en 2006.

I'm on a boat motherfucker, don't you ever forget
Comme le brevet de IBM porte sur exactement la même chose que le brevet de Unisys et a été inscrit plus tard, il n'est pas valide.
Si ça peut interesser quelqu'un, il est possible que je diffuse les sources de mon compresseur (objectif d'un TPE). Il fonctionne sur PC et les sources sont portables
Il utilise les méthodes de compression suivantes:
RLE
RLE optimisé
Huffman
LZ77
LZSS
LZW
AFE
Il faut savoir que la compression LZW est assez rapide puisque j'utilise des ABR et des tables de hachage.