A voir également:
- Codage Huffman - Affichage d'un tableau des caractères
- Codage ascii - Guide
- Tableau word - Guide
- Trier un tableau excel - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
1 réponse
Salut zibrata,
Je n'ai jamais fait d'implémentation de l'algorithme d'Huffman, mais comme personne ne répond, je te donne quelques indications qui me viennent à l'esprit.
Ma compréhension est que tu dois ici faire une première passe, puisque tu dis devoir décompter les fréquences correspondant exactement à ton texte.
Si je devais le faire, je le ferais avec un tableau de 256
Ensuite, tu te sers du contenu du tableau pour construire ton arbre, en utilisant les pointeurs vers les entrées du tableau associatif qui contiennent ton décompte...
cela paraît pas mal... non ? :-)
Sinon, avec ton code, tu ne vas lire qu'une ligne de ton fichier.. car
http://www.cplusplus.com/reference/cstdio/fgets/
Dal
Je n'ai jamais fait d'implémentation de l'algorithme d'Huffman, mais comme personne ne répond, je te donne quelques indications qui me viennent à l'esprit.
Ma compréhension est que tu dois ici faire une première passe, puisque tu dis devoir décompter les fréquences correspondant exactement à ton texte.
Si je devais le faire, je le ferais avec un tableau de 256
struct Noeud(256 étant sur ma machine, la valeur de 2 élevé à la puissance
CHAR_BITtel que définie dans
limits.hsur mon implémentation), initialisé à 0, que tu utilises comme un tableau associatif, en utilisant en index le char à décompter.
Ensuite, tu te sers du contenu du tableau pour construire ton arbre, en utilisant les pointeurs vers les entrées du tableau associatif qui contiennent ton décompte...
cela paraît pas mal... non ? :-)
Sinon, avec ton code, tu ne vas lire qu'une ligne de ton fichier.. car
fgets()va s'arrêter au premier retour à la ligne trouvé...
http://www.cplusplus.com/reference/cstdio/fgets/
Dal
en créant ta "priority queue"