begin process at 2012 05 28 09:04:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Codage de l'arbre de Huffman


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Codage de l'arbre de Huffman

jeudi 10 mars 2005 à 16:19:33 | Codage de l'arbre de Huffman

janette

Je programme actuellement la compression de fichiers par la méthode de Huffman et j'ai terriblement besoin d'aide pour le codage le l'arbre!! J'ai essayé de comprendre les codes donnés sur ce site mais j'ai beaucoup de mal car je suis débutante..Voici la déclaration de mon arbre:
typedef struct SNoeud TNoeud;
struct SNoeud{                
  char carac;              //définit un caractère
  float occ;               //définit une occurence
  char CodeNoeud;
  TNoeud* g;               // pointeur gauche
  TNoeud* d;               // pointeur droit
};
TNoeud *noeud;
TNoeud *Racine;
Dois je déclarer autre chose pour coder...???
Je connais le principe :lorsqu'on descend à gauche dans l'arbre on attribue 0 et à droite 1 .. mais en ce qui concerne la programmation, je n'y arrive pas.. MERCI pour votre aide..
vendredi 11 mars 2005 à 10:50:48 | Re : Codage de l'arbre de Huffman

Vulpetrus

à priori il y a tout ce qu'il faut pour construire ton arbre de Huffman.
même si je n'en aurai pas mis autant (occ ? et codeNoeud ?)

moi je ferait plutôt pour le codage :
struct Noeud{
                         int Indice; (0 ou 1)
                         Noeud *NoeudSuivant;
                    };
struct Code{
                      char caractere; // car à coder
                               int NombreOcurrences; // facultatif mais pourquoi pas !
                               Noeud *Racine; // son codage
                    };
aprés il n'y a plus qu'a parcourir la liste chainée  pour récuperer le code attribué à chaque caract : lecture de l'Indice à chaque noeud de la liste) :
le plus dur n'est pas la programmation mais l'algo qui doit attribuer à chaque caractère son code propre en fonction de son nombre d'occurences dans le message(découpage).si tu l'as déja fait, l'arbre se construit tout seul
Le découpage est fait ou non ?
En fait je pense qu'on a pas besoin de se prendre la tête avec la liste chainée pour la compression de huffman au niveau du codage.
mais bon, tentons !
dis moi déja comment se présente la liste des caractères que tu dois coder pour que je puisse mettre la main à la patte ;)

NB :
effectivement ta structure est la meilleure puisque l'arbre est utilisé surtout pour le décodage et à ce moment là on a besoin des noeuds g et d  pour les bifurcations (bit à 0ou 1) pour savoir à quelle caractère le code fait référence.
mais pour le codage tu peux trés bien te débrouiller sans.
De toute façon l'arbre est regénéré pour la décompression gràce à l'entête des données codées!

En fait avant tout !
que veux tu faire le codage ou le decodage ??

mercredi 16 mars 2005 à 19:23:27 | Re : Codage de l'arbre de Huffman

janette

merci pour ton aide..
en fait je veux faire le codage..
au départ j'ai un fichier.. je lis le fichier et je range mes caractères avec les occurences dans une table. ensuite j'ai fait un arbre suivant la méthode d'huffman (en additionnant les minimums..etc) directement à partir de ma table... je n'ai pas fait de liste.. et là je suis completement coincée sur ce codage !! 
mardi 20 janvier 2009 à 13:59:56 | Re : Codage de l'arbre de Huffman

jakor

salut je m'essaie à la programmation et je voudrais faire la même chose que toi
pourrais tu me faire voir comment tu crée tes tables de charactères et de fréquence d'occurence et comment tu fais le tri?
merci d'avance.


Cette discussion est classée dans : aide, arbre, codage, huffman, tnoeud


Répondre à ce message

Sujets en rapport avec ce message

Parcours arbre Huffman [ par lordvan ] Bonjour,je voulais savoir si vous saviez la façon de procéder pour incrémenter de 1 le nb de cases d'un tableau (initialement int tab[0]) ? Je crois q Aide codage [ par jeanphilippe37 ] Bonjour, j'avais déja demandé pour me coder mon prgm, ms on a pas voulu!!!! iol Voila, je l'ai codé aprés mon algo. Pourriez vous me dire s'il y Structure de données Arbre de Huffman [ par nicloss ] Bonjour, j'ai un projet en programmation c qui consiste à coder un programme qui compresse selon l'algorithme de Huffman. J'ai bien compris le princip Codage de Huffman [ par jakor ] Salut à tous voilà je débute tout juste dans la programmation et je veux écrire un programme en C me permettant de lire une liste de charactères ainsi aide en langage c !!urgent [ par sinzo ] bonjour ,  svp je suis bloqué dans une partie de mon mini projet..j'ai un arbre n aire dont chaque noeud contient une lettre , et je vx afficher tous Arbre de Huffman : code d'un caractère [ par noname001 ] Bonjour à tous, Je suis entrain de travailler sur l'arbre de Huffman pour compresser une chaine de caractère. Pour le moment, j'ai réussi à construi partage d'arbre DOM [ par semaphore ] Bonjour à tous,je suis confronté à une grosse dificulté: j'utilise dans mon projet un fichier XML que je parse à l'aide de Xecesc_2_6. Je désire parta problem dans la programation de codage du huffman [ par wissala ] bonjour, svp j'ai un problem de programer l'algorithm de huffman sur le c++ (pour avoir une image comprissé), alors est ce que quelqu'un peus me aidé Codage de Huffman [ par Trinity_vv ] Salut, Je souhaiterais trouver un programme en C le plus simple possible me permettant de compresser et de decompresser des fichiers en utilisant la [a l'aide] apache c++ cgi [ par BScrk ] Coucou tout le monde.J'ai un blem avec un cgi  c++en fait ce que je veux faire est assez simple:j'avais un script perl qui balançait à un viewer (acti


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales