This page was exported from Enseignement de l'informatique et du numérique au lycée Boissy d'Anglas
[ https://icn-isn-boissy.yj.fr/wp ]
Export date: Wed Feb 26 11:35:24 2025 / +0000 GMT
Corrigé exercice 2 les arbres
1.a. Il y a 4 feuilles, d'étiquette 12, val, 21 et 32. 1.b. Le sous-arbre gauche du nœud 23 est 19-21. 1.c. La hauteur de l'arbre est 4. Sa taille est 9. 1.d. Les valeurs possibles de val sont 16 et 17.
class Noeud():
def __init__(self, v):
self.ag = None
self.ad = None
self.v = v
def insere(self, v):
n = self
est_insere = False
while not est_insere:
if v == n.v:
est_insere = True
elif v < n.v:
if n.ag != None:
n = n.ag
else:
n.ag = Noeud(v)
est_insere = True
else:
if n.ad != None:
n = n.ad
else:
n.ad = Noeud(v)
est_insere = True
def insere_tout(self, vals):
for v in vals:
self.insere(v)
def recherche(self, v):
arbre = self
while not arbre is None:
if arbre.v == v:
return True
if v < arbre.v:
arbre = arbre.ag
else:
arbre = arbre.ad
return False
# version récursive (non demandée)
def recherche_rec(self, v):
if self is None:
return False
if self.v == v:
return True
if v < self.v:
if self.ag is not None:
return self.ag.recherche_rec(v)
else:
return False
else:
if self.ad is not None:
return self.ad.recherche_rec(v)
else:
return False
racine = Noeud(18)
racine.insere_tout([12, 13, 15, 14, 19, 21, 32, 23])
print(racine.recherche(149))
print(racine.recherche(12))
Post date: 2022-10-14 08:46:31 Post date GMT: 2022-10-14 06:46:31
Post modified date: 2022-10-14 09:19:42
Post modified date GMT: 2022-10-14 07:19:42
Powered by [ Universal Post Manager ] plugin. HTML saving format developed by gVectors Team
www.gVectors.com