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

Algorithmes et structures de données Discussion :

Quel algorithme utilisé pour faire un arbre hiérarchique


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 17
    Points
    17
    Par défaut Quel algorithme utilisé pour faire un arbre hiérarchique ?
    Bonjour,

    Voici mon problème, je veux construire un arbre hiérarchique tel que par exemple :

    A dépend de personne
    B dépend de personne
    C dépend de personne
    D dépend de A, B et C
    E dépend de D

    ETC...

    Je me demande s'il existe un algorithme qui gère ce genre de problème.

    Je veux pouvoir rechercher les racine, supprimer une racine et ajouter une racine.

    Vos suggestions serais très appréciées. :o

  2. #2
    Membre éprouvé
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Points : 1 056
    Points
    1 056
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    pour la recherche, tu peux utiliser un algorithme de recherche de séquence spécifique, via les itérateurs search, et find_end.

    pour le reste, les suppressions peuvent s'effectuer par itération, si je ne me trompe. Mais il te faut confirmer celà. Désolé de ne pouvoir t'aider plus.

    cordialement,

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Petit souci avec la fusion, je met donc en citation la réponse qui t'avait été donnée dans le forum C++ :

    Citation Envoyé par Greutzeb
    Salut,

    Je ne suis pas trés bon dans ce genre de chose mais, pourquoi ne pas utiliser
    une liste alpha-beta pour ce que tu veux faire?

    A dépend de personne
    B dépend de personne
    C dépend de personne
    D dépend de A, B et C
    E dépend de D
    Donnerai un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    alpha: a b c d e
    beta : 0|0|0|3012|13
    Avec 0|... le premier élément de alpha dépende de 0 élément
    ...|3012|... le quatrième élément (donc D) dépend de 3 éléments de alpha

    Apres pour construire ton arbre, il suffit d'analyser la liste... non?
    Pour la recherche des racines, il faut parcourir beta et tester la valeur (0 = racine)
    Etc...


    Qu'en penses tu?

Discussions similaires

  1. Quel EDI choisir pour faire du .NET ? Delphi 8 ou C# ?
    Par Vulvulune dans le forum Débats sur le développement - Le Best Of
    Réponses: 54
    Dernier message: 12/12/2007, 14h18
  2. Réponses: 3
    Dernier message: 13/04/2006, 16h57
  3. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 20h44
  4. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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