23 NSI 21
In [ ]:
Copied!
e = Noeud(Noeud(Noeud(None, 3, None),
'*', Noeud(Noeud(None, 8, None), '+', Noeud(None, 7, None))),
'-', Noeud(Noeud(None, 2, None), '+', Noeud(None, 1, None)))
e = Noeud(Noeud(Noeud(None, 3, None),
'*', Noeud(Noeud(None, 8, None), '+', Noeud(None, 7, None))),
'-', Noeud(Noeud(None, 2, None), '+', Noeud(None, 1, None)))
In [ ]:
Copied!
class Noeud:
'''
classe implémentant un noeud d'arbre binaire
'''
def __init__(self, g, v, d):
'''
un objet Noeud possède 3 attributs :
- gauche : le sous-arbre gauche,
- valeur : la valeur de l'étiquette,
- droit : le sous-arbre droit.
'''
self.gauche = g
self.valeur = v
self.droit = d
def __str__(self):
'''
renvoie la représentation du noeud en chaine de caractères
'''
return str(self.valeur)
def est_une_feuille(self):
'''
renvoie True si et seulement si le noeud est une feuille
'''
return self.gauche is None and self.droit is None
class Noeud:
'''
classe implémentant un noeud d'arbre binaire
'''
def __init__(self, g, v, d):
'''
un objet Noeud possède 3 attributs :
- gauche : le sous-arbre gauche,
- valeur : la valeur de l'étiquette,
- droit : le sous-arbre droit.
'''
self.gauche = g
self.valeur = v
self.droit = d
def __str__(self):
'''
renvoie la représentation du noeud en chaine de caractères
'''
return str(self.valeur)
def est_une_feuille(self):
'''
renvoie True si et seulement si le noeud est une feuille
'''
return self.gauche is None and self.droit is None
In [ ]:
Copied!
def expression_infixe(e):
s = ...
if e.gauche is not None:
s = '(' + s + expression_infixe(...)
s = s + ...
if ... is not None:
s = s + ... + ...
return s
def expression_infixe(e):
s = ...
if e.gauche is not None:
s = '(' + s + expression_infixe(...)
s = s + ...
if ... is not None:
s = s + ... + ...
return s