Bonjourn
Voila, j'ai créé un arbre binaire (correspond à l'algorithme d'Huffman) et je voudrais le parcourir de telle façon a quoi correspond chaque branche :
racine
| \
| | \
a b c
a = 1 , b = 01 , c = 00
le parcours de l'abre n'est pas un problème j'arrive à le faire (je le fait de façon récurcive), j'arrive également à afficher de façon basique, juste pour vérifier comment ça évolue :
avec le code qui commencera forcemment par un 1 (je repete, juste pour vérifier^^), le problème est que je ne vois absolument pas comment je peux le faire en binaire. Si quelqu'un pouvez m'aider, en esperant que mon explication ne soit pas trop confuse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 typedef struct PHuff{ struct PHuff* lg; struct PHuff* ld; int verif; char ascii; int freq; } Huff ; void fonction_arbre(Huff *arbre , int valeur) { if((arbre->lg == NULL) && (arbre->ld == NULL)) { printf("%c : %d\n",arbre->ascii,valeur);} else{ if (arbre->lg !=NULL) fonction_arbre(arbre->lg, valeur*10+1); if (arbre->ld !=NULL) fonction_arbre(arbre->ld, valeur*10); } }
Partager