Problème avec ma classe arbre binaire de recherche

deby44 - Modifié le 30 janv. 2022 à 21:13
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 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.


1 réponse

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
30 janv. 2022 à 21:14
0
Rejoignez-nous