Problème avec ma classe arbre binaire de recherche
deby44
-
Modifié le 30 janv. 2022 à 21:13
Whismeril
Messages postés19029Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention26 avril 2024
-
30 janv. 2022 à 21:14
Bonsoir, j'ai un petit souci avec le codage d' arbre binaire de recherche.
Le but étant de coder une classe Abr2 (arbre binaire de recherche 2) et une méthode qui renvoi le titre et l'année de sortie du film ou des films les plus vieux car oui mon code et relié à un fichier de bdd dans lequel des films sont insérer.
Bref, le truc que je ne saisie pas c'est comment créer cette méthode.
Parce que j'était simpement habitué au sql de base donc je ne sais pas
Je vous met quand même ce que j'ai codé pour l'instant
class Abr_id():
def __init__(self,tab,fg=None,fd=None):
if tab!=None:
self.tab=tab
if fg==None:
self.fg=Noeud(None)
else:
self.fg=fg
if fd==None:
self.fd=Noeud(None)
else:
self.fd=fd
else:
self.tab=None
def est_vide(self):
return self.tab==None
def inserer(self, cle):
# Si le noeud est vide, on insère la valeur
if self.est_vide():
## self=Noeud(cle)
self.tab=cle
self.fg=Noeud(None)
self.fd=Noeud(None)
else: #Sinon, on compare la nouvelle clé à celle du noeud
if cle<self.tab:
if self.fg.est_vide():
self.fg=Noeud(cle)
else: #récursif !
self.fg.insertion(cle)
elif cle>self.tab:
if self.fd.est_vide():
self.fd=Noeud(cle)
else: #récursif !
self.fd.insertion(cle)
#Pas de else : on ne répète pas une valeur déjà présente.