Représentation

Les arbres binaire peuvent être représentés en Python de différentes façons, mais nous n'en verrons qu'une : à l'aide de classes (car c'est la classe).

SimulationClasse Noeud

Créons une classe Noeud permettant de stocker la valeur de la racine et deux sous-arbres (donc deux instances de Noeud).

1
class Noeud:
2
    def __init__(self, g, v, d):
3
        self.gauche = g
4
        self.valeur = v
5
        self.droit = d

Ainsi, l'arbre ci-contre est enregistré dans la variable a avec a = Noeud(Noeud(Noeud(None, 5, None), 7, Noeud(None, 2, None)), 3, Noeud(Noeud(None, 8, None), 1, None)) qui peut s'écrire de la façon suivante :

1
a = Noeud(
2
        Noeud(
3
            Noeud(None, 5, None),
4
            7,
5
            Noeud(None, 2, None)
6
            ),
7
        3,
8
        Noeud(
9
            Noeud(None, 8, None),
10
            1,
11
            None
12
            )
13
        )