Compression par codage de Huffman

Fermé
philippe - 9 févr. 2009 à 22:44
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 févr. 2009 à 01:05
Bonjour,

TRES URGENT !!!!! TRES URGENT !!!!!

En fait, je viens de finir un projet de compression par codage de Huffman, et ça marche nickel.
C'est à dire pour un fichier texte de n'importe quels caractères, j'ai toujours la taille du fichier compressé est inférieure à celle du fichier source. Sauf pour un texte de caractères spéciaux (par ex: ,?<>), la taille du fichier compressé est supérieure à celle du fichier source.

Pouvez-vous me dire pourquoi ? sachant qu'il n'y a aucun problème au niveau du code .
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
10 févr. 2009 à 01:05
Salut,
Envisageons le pire des cas. Utiliser tous les caractères du code ascii (1 octet) en les utilisant une seule fois chacun.
Pour simplifier, on va dire qu'il y a 256 caractères (16*16 codes différents, en considérant un seul octet).
Ce qui fait un arbre à log2(256) = 8 bits. Donc chacun des caractères fera 1 octet.
Dans ce cas, tu n'auras donc aucune amélioration apporté par huffman, mais ça ne sera pas pire pour autant.
Et encore, c'était en supposant que tu utilises 256 caractères différents. Ce que je ne pense pas qu'il soit le cas ^^.

J'en conclus donc qu'il doit y avoir une erreur dans ton algorithme, et ce même si cela semble marcher pour d'autres textes.
Cdlt
1