Bonjour,
Je n'arrive pas à trouver où j'ai fait une erreur dans mon script. Mon arbre binaire a une taille de 12 or mon script me donne 11.

Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
class Noeud:
    # Le constructeur
    def __init__(self, value, left=None, right=None):
        self.value = value
        self.left = left
        self.right = right
 
    # Méthode qui permet d’afficher la valeur
    # de la racine avec la fonction print
    def __str__(self):
        return str(self.value)
 
    # méthode taille de l'arbre
    def taille(self):
        t1 = 0
        t2 = 0
        if not self:
            return 0
        else:
            if self.left:
                t1 = 1 + self.left.taille()
            if self.right:
                t2 = 1 + self.right.taille()
            return t1 + t2
 
arbre = Noeud('r',\
            Noeud('a',\
              Noeud('c', None, Noeud('h')),\
              Noeud('d',Noeud('i'),\
                    Noeud('j',Noeud('m'), None))),\
            Noeud('b',\
              Noeud('e', Noeud('k'), None),\
              Noeud('f'))\
            )
 
print(arbre) # affiche r
print("la taille de l'arbre est : ", end='')
print(arbre.taille())

Un grand merci !