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

  1. Parcours en profondeur préfixe
  2. Parcours en profondeur postfixe
  3. Parcours en profondeur infixe
  4. Recherche dans un arbre binaire de recherche
  5. Recherche d’un élément dans un arbre
  6. Insertion dans un arbre binaire de recherche