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

C Discussion :

ajouter un noeud dans un arbre binaire ABR


Sujet :

C

  1. #1
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut ajouter un noeud dans un arbre binaire ABR
    salut tout le monde.
    j'ai un problème au niveau de l'ajout d'un noeud dans un ABR:
    le principe est en fait :
    1- recherche dans l’arbre permettant de déterminer la feuille où doit se faire l’insertion,
    2- création du noeud et modification du lien père.


    mon probléme est au niveau du deusiéme point qui indique qu'apres avoir touver la place du noeud a insérer, il faut modifier le lien du père !!
    alors que dans cette algorithme , il na pas fait cette modification :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void inserer(etudiant *x, arbre *a)
    {
    if (!*a)
    {
    *a=....malloc...
    *a->element = x;
    *a->FG=*a->FD=null;
    }
    else
    {
    if(x->age<*a->element->age)
    inserer(x,&(*a->FG));
    else
    inserer(x,&(*a->FD));
    }
    }
    je sais que c'est un truc de passage des adresses mais j'arrive pas a comprendre la situation.
    si quelqu’un me donne une explication par un shéma ou autre..merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Je pense que c'est implicite via la récursivité

    Lorsque tu affectes la feuille où doit être inséré l'étudiant *a->element = x, a [la feuille] est soit le fils gauche inserer(x,&(*a->FG)) soit le fils droit inserer(x,&(*a->FD)): il est là le lien nœud/ feuille - père/ fils

Discussions similaires

  1. Ajout dans un arbre binaire
    Par damosnet dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/03/2013, 11h23
  2. Réponses: 2
    Dernier message: 07/12/2009, 11h43
  3. ajouter des répertoires (noeuds) dans un arbre ?
    Par blueLight dans le forum Composants
    Réponses: 0
    Dernier message: 31/08/2009, 11h54
  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. Réponses: 2
    Dernier message: 30/10/2007, 17h10

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