IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Attributs d'instance dans un arbre binaire de recherche


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur maintenance
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur maintenance

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Par défaut Attributs d'instance dans un arbre binaire de recherche
    Bonjour à tous,

    Je suis nouveau sur ce site et me forme à la POO avec Python. Je suis en train d'étudier les arbres binaires de recherche et j'ai trouvé une source qui donne du fil à retordre quand on ne connait pas suffisamment la POO avec Python.

    Je m'explique, dans le constructeur du code il y a 4 attributs :

    data : qui prend la donnée à insérer dans l'arbre.

    left : qui correspond au noeud gauche du noeud racine

    right : idem le noeud droit du noeud racine

    parent : qui est le parent du noeud inséré

    Dans ce code il y a une méthode "insert", qui insert les noeuds droit et gauche. Et dasn cette méthode il y a la ligne suivante :

    "self.left.parent = self" qui sert à désigner le noeud parent du noeud inséré quand il s'agit d'un noeud gauche et self.right.parent = self quand il s'agit d'un noeud droit.

    Ma question, qui paraît certainement simple pour les initiés est la suivante : comment fonctionne le "chaînage" d'attribut ? C'est à dire comment peut on écrire self.attribut.attribut ? Quel est au final l'attribut qui va contenir la donnée ?

    J'espère avoir été clair... Merci pour votre aide

    Voici le lien vers la source, qui se trouve sur github :

    Code_Github

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 742
    Par défaut
    Salut,

    Citation Envoyé par ekzen Voir le message
    Ma question, qui paraît certainement simple pour les initiés est la suivante : comment fonctionne le "chaînage" d'attribut ? C'est à dire comment peut on écrire self.attribut.attribut ? Quel est au final l'attribut qui va contenir la donnée ?
    Faites un dessin et tracer 2 carrés qui représenteront 2 nœuds de votre arbre et dans chacun vous créez les cases left, right.
    Puis vous faites une flèche qui part d'une case left et qui va vers l'autre nœud.
    Le nœud de départ s'appelle "self".
    self.left (le contenu) sera l'autre noeud.
    self.left.right: le contenu de la case right de l'autre nœud.

    C'est pas plus compliqué. Pour le reste, il va falloir ouvrir un tuto.: ils sont faits pour çà.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur maintenance
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur maintenance

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Par défaut
    Bonsoir,

    Ma question a peut être mal été posée, elle ne porte en effet pas sur le fonctionnement des arbres binaires de recherche dont j'ai bien compris le fonctionnement. L'arbre binaire est un exemple pour illustrer ma question car c'est dans un code de ce type que je suis tombé sur l'objet de ma question. Ma question est, soit propre à python, soit propre à la programmation objet, et porte sur le mécanisme de "chaînage" des attributs au sein même du langage. Quand on a 2 attributs au sein d'un constructeur : attribut_1 et attribut_2, je comprends bien l'accès à un attribut après instanciation : mon_instance.attribut_1 = valeur, mais mon_instance.attribut_1.attribut_2 = valeur est une notion que j'ai du mal à percevoir, d'ou l'objet de ma question.
    Donc nul besoin d'être si désagréable et condescendant, je bien qu'il y a des tutos sur les algorithmes en tout genre, je posais simplement une question pour laquelle je n'ai pas trouvé de réponse via google.
    Bon au vu de la réponse et du ton du modérateur de ce forum je vais aller la poser ailleurs je trouverais certainement des gens plus sympa !

Discussions similaires

  1. modifier une valeur dans un arbre binaire de recherche?
    Par paco_the_king dans le forum Langage
    Réponses: 2
    Dernier message: 04/02/2012, 20h26
  2. Algorithme de suppression d'un élément dans un arbre binaire de recherche
    Par mohsenuss91 dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 24/12/2011, 12h05
  3. Réponses: 2
    Dernier message: 07/12/2009, 11h43
  4. Ajout dans les arbres binaires de recherche
    Par chouki dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 28/12/2008, 15h32
  5. Suppression dans un arbre binaire de recherche
    Par zeine77 dans le forum Langage
    Réponses: 1
    Dernier message: 11/05/2007, 20h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo