Les arbres (binaires) seront définis par une classe :
un arbre peut être l’arbre vide (null
) ou bien une valeur
, un sous-arbre gauche
et un sous-arbre droit
.
class Arbre{
public int noeud;
public Arbre gauche;
public Arbre droit;
public Arbre(int noeud, Arbre gauche, Arbre droit) {
this.noeud = noeud;
this.gauche = gauche;
this.droit = droit;
}
}
On peut alors créer et manipuler ces arbres :
= new Arbre(4,
Arbre a new Arbre(2,
new Arbre(1, null, null),
new Arbre(3, null, null)
),
new Arbre(6,
null,
new Arbre(7, null, null)
)
);
// On peut tester si un arbre est vide
System.out.println(a == null);
// On peut accéder à la valeur, et à chaque sous-arbre
System.out.println(a.valeur);
if (a.gauche == null) {
System.out.println("OK");
}
Exercices
- Parcours en profondeur préfixe
- Parcours en profondeur postfixe
- Parcours en profondeur infixe
- Recherche dans un arbre binaire de recherche
- Recherche d’un élément dans un arbre
- Insertion dans un arbre binaire de recherche