-
Code de Huffman
Salut!!
J'essaie de faire l'implémentation du codage de Huffman en java.
Mon problème est que lors du parcours de l'arbre (ou j'utilise un parcours préfixe)
je ne sais pas comment affecter les codes 0 et 1 ni à quel moment!!!
Merci pour votre aide!!!
-
Salut,
il y aune méthode très simple et très efficace, mais l'arbre n'est pas aussi bon, cela si vous le creez:
Prenos l'exemple suivant:
a 60%
b 30%
c 10%
(les fréquences d'apparition dans le texte):
vous pouvez tout simplement donner les code suivant:
a = 1
b = 01
c = 001
Vous pouvez travaillez sur les chaine decaractès puis creer une fonction qui les transforme en short int, pour les ecrire en fin dans un fichier.
-
L'attribution des 0 et 1 sur les branches de l'arbre d'Huffmann peut être faite de façon aléatoire : générallement on se fixe une convention (0 à gauche 1 a droite) mais rien d'obligatoire
-
Le problème est que nous devons créer l'arbre et extraire le code en parcourant cet arbre!!
La partie création de l'arbre est déjà faite et j'ai pas réussi à en extraire le code!!
-
Salut,
Vous devez mettre plus de detailles!
L'essentiel: si vous avez bien creer votre arbre, vous devez remarquer que: pour chaque noeud, l'un de ses deux fils est une feuille de l'arbre!
Donc:
1. tu commence toujours par la racine
2. repete tant que le caractère non trouvé:
{
1. verifier qui est le fils feuille.
2. Si le carctère de ce noeud = le caractère cherché:
{
trouvé = true;
}
3. si la direction prise était droit:
{
code = code + 1 à droite;
}sinon
{
code = code + 0 à droite;
}
}
Normalement cela suffira!
-
Merci!! ça m'a vraiment aidé!!:D