Bonjour a vous,
Je ne savais pas trop ou poster...
J'essaye de coder Huffman en C, mais des le début je ne sais plus quoi faire
ma structure étant la suivante
J'ai donc crée ma table d'occurrence avec les fréquences que j'ai trié par ordre croissant, j'obtiens donc une table de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct code { unsigned int frequence; unsigned int indice; short Fils0, Fils1; }Code;
1: a _ 2
2: e _ 3
3: t _ 5
Mais maintenant la question qui se pose c'est comment créer l'arbre de Huffman?
Dois-je poursuivre ma première table qui contient 256 caractères avec des symboles possédant une fréquence a zéro ( qui va nuire a mon codage)
Je devrais donc avoir ma table a 512 éléments, je prends les deux min j'en fais un nouveau noeud et je le remet dans ma table, mais a quelle position? Dois je l'insérer en respectant l'ordre de ma table (pour préserver le fait qu'elle est triée).
Que dois je mettre dans mes fils0 et fils1?
La position dans ma table?
c'est a dire ici je construit un nouveau noeud en position 4 avec Fils0 = 1 et Fils1 = 2 et je le réinsère en position 1, je dois donc supprimer les deux noeuds que je viens de prendre?
Voila je m'excuse de la confusion de mon post mais ca reflète assez bien ma compréhension pour la création de l'arbre
Merci pour votre aide
Partager