Arbres binaires de recherches
https://mensuel.framapad.org/p/62wt7fsd2s-a4qd?lang=fr
https://capytale2.ac-paris.fr/web/c/d4c2-2199451
class Noeud:
def __init__(self,val):
self.val = val
self.g = None
self.d = None
def recherche(self,val):
if self.val == val:
return True
elif self.val < val:
if self.d is not None:
return self.d.recherche(val)
else:
return False
else:
if self.g is not None:
return self.g.recherche(val)
else:
return False
def insert(self, val_a_ajouter):
if self.val > val_a_ajouter:
if self.g is None:
self.g = Noeud(val_a_ajouter)
else:
self.g.insert(val_a_ajouter)
else:
if self.d is None:
self.d = Noeud(val_a_ajouter)
else:
self.d.insert(val_a_ajouter)
def infixe(self):
if self.g :
self.g.infixe()
print(self.val)
if self.d :
self.d.infixe()
def prefixe(self):
print(self.val)
if self.g :
self.g.infixe()
if self.d :
self.d.infixe()
def postfixe(self):
if self.g :
self.g.infixe()
if self.d :
self.d.infixe()
print(self.val)
class ABR:
def __init__(self):
self.racine = None
def insert(self, val_a_ajouter):
if self.racine is None:
self.racine = Noeud(val_a_ajouter)
else:
self.racine.insert(val_a_ajouter)
def recherche(self, val):
if self.racine is not None:
self.racine.recherche(val)
else:
return False
def infixe(self):
self.racine.infixe()
def postfixe(self):
self.racine.postfixe()
def prefixe(self):
self.racine.prefixe()
class Equipe:
def __init__(self, nom, age, classement):
self.nom = nom
self.age = age
self.classement = classement
def __gt__(self,equipe2):
return self.classement>equipe2.classement
def __lt__(self, equipe2):
return self.classement<equipe2.classement
def __str__(self):
return self.nom
equipe1 = Equipe("Lakers",1948,15)
equipe2 = Equipe("Warriors",1948,2)
equipe3 = Equipe("Celtics",1948,13)
equipe4 = Equipe("Monaco",1948,1)
equipe5 = Equipe("Miami Heat",1948,10)
abr = ABR()
abr.insert(equipe1)
abr.insert(equipe2)
abr.insert(equipe3)
abr.insert(equipe4)
abr.insert(equipe5)
print(equipe1>equipe2)
https://capytale2.ac-paris.fr/web/c/d4c2-2199451
class Noeud:
def __init__(self,val):
self.val = val
self.g = None
self.d = None
def recherche(self,val):
if self.val == val:
return True
elif self.val < val:
if self.d is not None:
return self.d.recherche(val)
else:
return False
else:
if self.g is not None:
return self.g.recherche(val)
else:
return False
def insert(self, val_a_ajouter):
if self.val > val_a_ajouter:
if self.g is None:
self.g = Noeud(val_a_ajouter)
else:
self.g.insert(val_a_ajouter)
else:
if self.d is None:
self.d = Noeud(val_a_ajouter)
else:
self.d.insert(val_a_ajouter)
def infixe(self):
if self.g :
self.g.infixe()
print(self.val)
if self.d :
self.d.infixe()
def prefixe(self):
print(self.val)
if self.g :
self.g.infixe()
if self.d :
self.d.infixe()
def postfixe(self):
if self.g :
self.g.infixe()
if self.d :
self.d.infixe()
print(self.val)
class ABR:
def __init__(self):
self.racine = None
def insert(self, val_a_ajouter):
if self.racine is None:
self.racine = Noeud(val_a_ajouter)
else:
self.racine.insert(val_a_ajouter)
def recherche(self, val):
if self.racine is not None:
self.racine.recherche(val)
else:
return False
def infixe(self):
self.racine.infixe()
def postfixe(self):
self.racine.postfixe()
def prefixe(self):
self.racine.prefixe()
class Equipe:
def __init__(self, nom, age, classement):
self.nom = nom
self.age = age
self.classement = classement
def __gt__(self,equipe2):
return self.classement>equipe2.classement
def __lt__(self, equipe2):
return self.classement<equipe2.classement
def __str__(self):
return self.nom
equipe1 = Equipe("Lakers",1948,15)
equipe2 = Equipe("Warriors",1948,2)
equipe3 = Equipe("Celtics",1948,13)
equipe4 = Equipe("Monaco",1948,1)
equipe5 = Equipe("Miami Heat",1948,10)
abr = ABR()
abr.insert(equipe1)
abr.insert(equipe2)
abr.insert(equipe3)
abr.insert(equipe4)
abr.insert(equipe5)
print(equipe1>equipe2)
Créé par NAWFAL M'KADARA | Dernière contribution le 04 déc. 2023 à 16:57