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 :

représentation d'une arbre n-aire


Sujet :

C

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 146
    Points : 156
    Points
    156
    Par défaut représentation d'une arbre n-aire
    bonsoir,
    comment représenter une structure adéquate pour les arbre n-aire ?
    est ce qu'on a besoin d'information sur les frères d'un noeud ou bien il faut just des infos sur les fils comme ca ?
    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    struct Noeud 
     
    {
     
     int info;
     
     Liste* fils
     
    }

  2. #2
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Il n'y a pas de solution universelle, tout dépend de la manière dont tu prévois de construire, altérer, interroger ton arbre..

    Un arbre n-aire peut être représenté tel que tu le proposes ou alternativement transformé en arbre binaire puis cousu, par exemple.

  3. #3
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,
    On peut décomposer un arbre n-aire de plusieurs manières. Un objet unique avec tous les liens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct Noeud1 {
       int  info;
       struct Noeud1 *frereSuivant;
       struct Noeud1 *premierFils;
    };
    On peut aussi utiliser 2 objets différents comme tu le proposes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct Liste {
       struct Liste*  suivant;
       struct Noeud2* noeud;
    };
    struct Noeud2 {
       int  info;
       struct Liste* fils;
    };
    Ou d'autres combinaisons, ou des transformations en arbres binaires.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 146
    Points : 156
    Points
    156
    Par défaut
    qu'est ce que vous pensez de cette représentation ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    struct Noeud 
     
    {
    int val; 
    Noeud * suivant; 
    Noeud * liste; 
    }

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 986
    Points
    30 986
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par je viens du sud Voir le message
    qu'est ce que vous pensez de cette représentation ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    struct Noeud 
     
    {
    int val; 
    Noeud * suivant; 
    Noeud * liste; 
    }
    Ben que ça n'a de signification que pour toi. Parce que moi, je peux le voir comme un arbre binaire (chaque noeud ne connait que son fils droit et son fils gauche) ; ou bien comme un arbre "building" (chaque noeud connait la liste des noeuds de son niveau et aussi le noeud du niveau suivant) ; etc etc.

    Matt_Houston te l'a dit: on ne fait pas un arbre pour savoir ensuite à quoi on l'applique, on fait un arbre parce qu'on a déjà un truc à modéliser et que l'arbre en question le permettra...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 22
    Points
    22
    Par défaut
    Bonsoir,

    J'y vais de ma participation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    struct node
    {
       int val;
       size_t nb_fils;
       struct node **liste_fils;
    };
    matt...

Discussions similaires

  1. représentation d'un arbre lexicographique dans une console
    Par kahrah dans le forum Général Python
    Réponses: 2
    Dernier message: 05/12/2013, 23h54
  2. Représentation arbre n-aire en C++ et construction de l'arbre pendant l'algo MiniMax
    Par Cornellus1985 dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 28/11/2010, 00h39
  3. Réponses: 0
    Dernier message: 06/08/2009, 15h40
  4. Transformation d'une chaine en arbre n-aire
    Par nicolas66 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/06/2007, 09h55
  5. arbre n-aire delete
    Par Fry dans le forum C++
    Réponses: 13
    Dernier message: 19/10/2004, 21h22

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