dCode

Rechercher un outil sur dCode.fr


Codage de Huffman

Le codage de Huffman est un algorithme de compression de données sans perte utilisant un arbre binaire et un code à longueur variable basé sur des probabilités d'apparition.

dCode est ton ami !

dCode est gratuit et ses outils sont une aide dans des jeux, les énigmes et les problèmes à résoudre au quotidien !

Vous avez un projet ? Vous désirez une prestation de développement sur mesure ? Demandez un devis !

Codage de Huffman

Annonces sponsorisées :

Compression Huffman


Le programme est limité à 10000 caractères, il utilise un algorithme semi-adaptatif : il calcule la fréquence d'apparition des lettres et propose la solution optimale.

Décompression Huffman


Dictionnaire de substitution binaire :
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

Le dictionnaire proposé est un exemple, il optimise les lettres les plus fréquentes de la langue française : E, A, R, S, T, L, N...

Principe de codage

Le programme calcule la fréquence d'apparition des lettres. Exemple : DCODEMOI, 2*D, 2*O, 1*C, 1*E, 1*M, 1*I.
On créé un arbre ayant pour feuilles les lettres et leur poids (leur nombre d'occurrence).
Pour ce faire on associe à chaque couple composé des deux noeuds de plus faibles poids pour créer un nouveau noeud, de poids de leur somme des poids jusqu'à arriver à la racine.
On convient de la notation : 0 pour la branche gauche et 1 pour la branche droite.
Le code binaire de chaque caractère est alors obtenu en parcourant la racine jusqu'à la feuille et en notant le parcours (0 ou 1) à chaque noeud.

DCODEMOI entraine la création d'un arbre tel que le D et le O, présent le plus souvent auront un code court. D = 00, O = 01, I = 111, M = 110, E = 101, C = 100. soit 0010001101110111 (16 bits).

Principe de décodage

Il suffit de parcourir le code obtenu avec l'arbre jusqu'à obtenir une feuille existante. Soit : 0010001101110111, on recherche 0 (n'existe pas), puis 00 (D), puis 1 (n'existe pas), puis 10 (n'existe pas), puis 100 (C), etc.

Principe de compression

Les termes avec la plus grande occurrence doivent être codés avec le plus petit mot binaire, ainsi, la place utilisée pour les coder est minimale, ce qui augmente la compression.

Création d'un arbre de Huffman

dCode ne propose pas encore la création d'un arbre automatiquement, mais le site Huffman Tree Generator peut vous y aider ici

Code source

dCodeur se réserve la propriété du code source du script Codage de Huffman. Sauf open source, toute demande d'algorithme ou applet (déchiffrement, chiffrement, encodage, décodage, encryptage, décryptage, traduction, traducteur, conversion, solveur), de fonction (décrypter, encrypter, déchiffrer, chiffrer, décoder, code, traduire, convertir, résoudre) ou un script en langage Java, C++, PHP, Python, Javascript, etc. pourra être formulée via la page contact. Si vous avez besoin de télécharger le script Codage de Huffman hors ligne pour vous, votre entreprise ou association, et que vous avez un financement, n'hésitez pas !

Commentaires


Menu

Outils similaires

Recommander



Divers pubs

Mots-clés

Liens


© 2016 dcode.fr — Le site indispensable pour résoudre les énigmes, les jeux et les chasses au trésor. dCode