Méthode toString pour afficher un arbre binaire complet

membre1990 -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir :),
je veux afficher les éléments d'un arbre binaire complet à l'aide de la méthode "toString", je commence par la racine, je parcours la partie gauche puis la partie droite. SVP j'ai besoin de votre aide.
voici la structure de mon arbre:



public class Noeud <E>{
E info;
Noeud<E> filsG;
Noeud<E> filsD;
public Noeud(E i,Noeud g, Noeud d)
{
this.info=i;
this.filsG=g;
this.filsD=d;
}
}


public class Arbre <E>{
Noeud <E> racine;
public Arbre(Noeud r)
{
this.racine=r;

}
public Arbre()
{
this.racine=null;
}
..
..
}

j'ai codé une fonction d'affichage, mais elle ne me permet pas d'afficher les éléments s'ils sont de types classe.



public void afficher(Noeud rac)
{
System.out.println(rac.info);
System.out.println();
afficher(rac.filsG);
afficher(rac.filsG);
}





A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Ta méthode afficher() fais des System.out.println, or ce que tu veux c'est mettre les informations dans un String, c'est donc assez différent !

Est-ce que tu as une méthode qui transforme ton arbre en liste ?
C'est généralement la meilleure manière d'afficher les éléments d'un arbre que d'afficher les éléments de la liste correspondante.

Sinon, le principe en gros c'est :

public String toString()
{
    String str = String.valueOf(info);
    
    if (filsG != null)
        str = filsG.toString()+", "+str;

    if (filsD != null)
        str = str+", "+filsD.toString();
    
    return "("+str+")";
}
0
membre1990
 
merci beaucoup KX pour votre réponse,
j'ai pas une fonction pour la transformation de l'arbre en liste, et je sais pas s'il est nécessaire de l'avoir. je veux garder la structure d'un arbre, mais j'ai trouvé des problèmes dans l'insertion, car l'insertion se fait toujours à gauche si le nombre de noeud dépasse 7, alors que je dois garder mon arbre ""complet(tout les niveaux; droit et gauche; sont remplis).
que me conseillez vous??
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Reviens sur ta discussion Comment insérer des objets dans un arbre binaire complet et postes ton code actuel pour que je puisses tester et voir ce qui cloche.
0