Les arbres (binaires) seront définis par une classe :
un arbre peut être l’arbre vide (None
) ou bien une valeur
, un sous-arbre gauche
et un sous-arbre droit
.
class Arbre:
def __init__(self, valeur, gauche, droit):
self.valeur = valeur
self.gauche = gauche
self.droit = droit
= Arbre(4,
a 2,
Arbre(1, None, None),
Arbre(3, None, None)
Arbre(
),6,
Arbre(None,
7, None, None)
Arbre(
)
)
# On peut tester si un arbre est vide
== None
a
# On peut accéder à la valeur, et à chaque sous-arbre
print(a.valeur)
if a.gauche == None:
print("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