Parcours préfixe Arbre Binaire java [Résolu]

Messages postés
3
Date d'inscription
dimanche 7 mars 2010
Dernière intervention
29 décembre 2010
- - Dernière réponse :  Utilisateur anonyme - 30 déc. 2010 à 12:02
Bonjour à tous,

Je développe en ce moment deux classes très simples en java : ArbreBinaire.java et Noeud.java (+ une classe de test). Vous l'aurez deviné ces deux classes permettent de créer et manipuler des arbres binaires.
Pour finaliser ce travail, je dois implémenter une méthode ParcoursPrefixe(), qui va donc permettre de parcourir l'arbre initialement crée de la manière suivante :

- Visite de la racine
- Parcours de l'arbre gauche
- Parcours de l'arbre droit

Mon problème qui est donc purement algorithmique est le suivant :

Comment puis-je m'y prendre pour afficher la valeur de chaque noeuds dans l'ordre indiqué ci-dessus tout en sachant que le parcours de l'arbre est effectué de manière récursive? En effet, j'arrive a descendre dans la branche la plus à gauche de l'arbre ainsi que la valeur du noeud droit de cette dernière branche, mais une fois en bas il m'est impossible de remonter (parcours récursif).

Si vous avez une petite idée de l'algorithme à employer ou toute autre chose susceptible de me mettre sur la voie, je suis preneur ;) !
Merci à celui ou celle qui pourra me venir en aide.

ablieux
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
132
Date d'inscription
samedi 6 janvier 2007
Dernière intervention
4 janvier 2011
1
Merci
Bonjour,

Si j'ai bien compris :

class Node{
  String value;
  Node filsD;
  Node filsG;
[...]
  void parcoursPrefixe() {
    print(value)
    if(filsG != null)
      filsG.parcoursPrefixe();
    if(filsD != null)
      filsD.parcoursPrefixe();
  }
}


Et pour lancer tout ça, tu appel la fonction depuis le sommet de l'arbre.
Mais vu que je n'ai fait que traduire ton
- Visite de la racine
- Parcours de l'arbre gauche
- Parcours de l'arbre droit 

en pseudo-code, j'ai peut-être pas compris ton problème...

Merci lural 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de lural
Messages postés
3
Date d'inscription
dimanche 7 mars 2010
Dernière intervention
29 décembre 2010
0
Merci
Bonjour,

J'ai déjà effectué des recherches effectivement avant de poster mais n'ai rien trouvé qui m'aide vraiment...
Pourrais-je avoir le lien de cette discussion ?

Je vous remercie, cordialement.

ablieux
Commenter la réponse de ablieux
Messages postés
3
Date d'inscription
dimanche 7 mars 2010
Dernière intervention
29 décembre 2010
0
Merci
Bonjour,

Un grand merci à toi lural, ta solution fonctionne parfaitement !
Je me suis compliqué la vie dès le départ de mon côté car je suis parti sur un IF/ELSE unique dans la méthode ParcoursPrefixe(), c'est finalement cette erreur qui m'a bloqué et m'a fait tourner en rond de la sorte.

Merci encore, bonne soirée.

ablieux
Commenter la réponse de ablieux
Messages postés
4
Date d'inscription
dimanche 10 janvier 2010
Dernière intervention
30 décembre 2010
0
Merci
bonjour a tout;

un grand merci a vous mais j'ai pas bien compris
j'ai un tp a fair c de calculer la puissance x^n
utilisant la metuode de knuth(arbre binaire)
svp aider moi pour la realiser
Commenter la réponse de seifou21
Messages postés
132
Date d'inscription
samedi 6 janvier 2007
Dernière intervention
4 janvier 2011
0
Merci
Bonjour,

Il te manque quelques petits trucs :
- Créer un nouveau fil (parce que c'est un nouveau sujet)
- Poser une question (ne crois pas que l'on va écrire ton TP à ta place, ça n'aurait d'intérêt pour personne...)
- Correction des fautes d'orthographe

Et je ne pense pas que la méthode de Knuth soit un arbre binaire, alors donnes nous plus d'éléments ;)

Bye
Commenter la réponse de lural
0
Merci
Il parle de la notation de Knuth à mon avis.













Commenter la réponse de Utilisateur anonyme
-1
Merci
Bonjour

J'ai déjà répondu à ces questions dans un autre fil de discussion. Merci de faire des recherches avant de poster ici.














Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.