Téléchargement
illégal
Posez votre question Signaler

Algo d parcours d'un arbre binaire

fatine - Dernière réponse le 15 juin 2011 à 07:56
je souhait avoir l'algorithme du parcours d'un arbre binaire...
je le cherche depuit lontemps ...j'ai toujours pas de répense...
Lire la suite 

Algo d parcours d'un arbre binaire »

7 réponses
Réponse
+1
moins plus
Trois possibilités de parcours (je ne me rapelle plus des noms):
- la pré-je-sais-plus-quoi:
tu traite le noeud,
tu fais la partie gauche,
tu fais la partie droite,

- la je-sais-plus-quoi:
tu fais la partie gauche,
tu traite le noeud,
tu fais la partie droite,

- la post-je-sais-plus-quoi:
tu fais la partie gauche,
tu fais la partie droite,
tu traite le noeud.

Voici l'algo:
fonction sag(): renvoie le sous-arbre gauche
fonction sad(): renvoie le sous-arbre droit


fonction parcourir(unarbre: type_arbre):
var unnoeud: type_noeud

{1} traiter(unnoeud);

si sag(unarbre) est_non_vide
alors parcourir(sag(unarbre))
finsi

{2} traiter(unnoeud);

si sad(unarbre) est_non_vide
alors parcourir(sad(unarbre))
finsi

{3} traiter(unnoeud);

fin parcourir

Selon si tu mets le traiter(unnoeud) en 1 ou en 2 ou en 3, ça donne pas la même chose (fais un dessin).

Info Man
babs - 21 févr. 2007 à 23:40
(1) si (il y a une arête à gauche et on ne l'a jamais descendue) on la descend
(2) sinon si (il y a une arête à droite et on ne l'a jamais descendue) on la
descend
(3) sinon si (on n'est pas à la racine) on remonte l'arête
(4) sinon on termine
Ajouter un commentaire
Réponse
+1
moins plus
comment trensforme un graphe a un arber benaire ???????????????????
Ajouter un commentaire
Réponse
+0
moins plus
Parcours d'un fichier binaire?
Ajouter un commentaire
Réponse
+0
moins plus
Pour tous ceux qui recherches des sources pour le parcours d'un arbre en C.
Ce sont des procédure que je dois rendre à mon professeur ce vendredi ^_^.
On est sensé le faire via une liste mais ceci ce n'est que de l'affichage, donc si vous effectuez le parcours de l'arbre pour récupérer les données, utilisez les listes. Je posterai plus tard mes procédures de parcours utilisant les listes (je les ferai ce soir).
je peux vous passez mes procédures. Voici 3 méthodes pour parcourir un arbre binaire:


//***Parcours préfixé (première rencontre)

void proc_parcours_prefixe(arbre mon_arbre)
{
if(mon_arbre != NULL)
{
//mon_arbre = func_racine_arbre(mon_arbre);
printf("%d\t",mon_arbre->val);
if(mon_arbre->gauche != NULL)
{
proc_parcours_prefixe(mon_arbre->gauche);
}
if(mon_arbre->droite != NULL)
{
proc_parcours_prefixe(mon_arbre->droite);
}
}
else
{
printf("\nCet arbre est vide\n");
}

}

//***Parcours suffixé (dernière rencontre)
void proc_parcours_suffixe(arbre mon_arbre)
{
if(mon_arbre != NULL)
{
if(mon_arbre->gauche != NULL)
{
proc_parcours_suffixe(mon_arbre->gauche);
}
if(mon_arbre->droite != NULL)
{
proc_parcours_suffixe(mon_arbre->droite);
}
printf("%d\t",mon_arbre->val);
}
else
{
printf("\nCet arbre est vide\n");
}
}

//***Parcours symétrique (deuxième rencontre)
void proc_parcours_symetrique(arbre mon_arbre)
{
if(mon_arbre != NULL)
{
if(mon_arbre->gauche != NULL)
{
proc_parcours_symetrique(mon_arbre->gauche);
}
printf("%d\t",mon_arbre->val);
if(mon_arbre->droite != NULL)
{
proc_parcours_symetrique(mon_arbre->droite);
}
}
else
{
printf("\nCet arbre est vide\n");
}
}
ezaqsdf - 15 juin 2011 à 05:06
la virsion itérative!!!!!!!!!!!!!!!!!!
KX- 15 juin 2011 à 07:56
On ne manipule pas les arbres itérativement, c'est pas fait pour...
Ajouter un commentaire
Ce document intitulé « algo d parcours d'un arbre binaire » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?