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
a = Arbre(4,
Arbre(2,
Arbre(1, None, None),
Arbre(3, None, None)
),
Arbre(6,
None,
Arbre(7, None, None)
)
)
# On peut tester si un arbre est vide
a == None
# 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