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 :

Parcourir tout un arbre


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut Parcourir tout un arbre
    Bonjour,

    ca fait un moment que j'essaie de faire un certain calcul et je n'y arrive pas. J'ai essayé différentes recherches qui n'ont pas abouti

    Donc, j'ai un arbre dont chaque noeud a une valeur (integer). Ce que j'aimerai c'est parcourir toutes les branches de l'arbre et qu'en descendant chaque branche, je fasse la somme des valeurs des noeuds. A la fin d'une branche, je compare la somme des valeurs des noeuds rencontrés avec un maximum initié à 0. Si la somme est supérieure, elle devient la valeur maximale. Ensuite, on passe à la branche suivante et ainsi de suite... pour finalement savoir quelle est la plus haute somme.

    Merci d'avance
    (j'espère être compréhensible )
    wellynch

  2. #2
    Membre émérite Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Par défaut
    Bon, c'est pas trop compliqué en fait ... il faut que tu utilises une fonction recursive et le tour est gagne. Ce qui est bien avec les arbres, c'est que les branches ( ou fils ) sont aussi des arbres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    fonction valeurMax(arbre a) : entier
     
    si estFeuille(a)
          renvoyer valeur(a)
    sinon
          max = 0
          Pour tous les fils f de a faire
                  val = valeurMax(f) + valeur(a)
                  si val > max 
                           max = val
          renvoyer max
    voila pour l'algo de base ... ici la fonction valeur(arbre) renvoie la valeur du noeud.[/code]

  3. #3
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut
    Bah merci bien pour ton aide, je vais tester l'algo. Mais il faut que je l'adapte en VB maintenant

    wellynch

  4. #4
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut
    Ok mais le problème va etre de reussir a passer d'un fils à un autre d'un même noeud car je fais ca en vb et j'utilise un treeview

  5. #5
    Membre émérite Avatar de benratti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    471
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2004
    Messages : 471
    Par défaut
    Pour ca, je ne peux pas vraiment t'aider car la derniere fois que j'ai fais du vb, c'etait il y a bientot 3 ans ... donc j'ai un peu oublier.

    Sinon, tu dois avoir un moyen de recuperer les fils a partir d'un noeud, non ?
    Si tu trouves pas demander des renseignement dans le forum VB sur les TreeView.

  6. #6
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Par défaut
    Merci pour ton aide ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parcourir toutes les TForm d'un projet
    Par Mihalis dans le forum Delphi
    Réponses: 12
    Dernier message: 27/01/2007, 23h34
  2. Parcourir tout les Id qui commence par "dz_"
    Par FMaz dans le forum Général JavaScript
    Réponses: 28
    Dernier message: 24/03/2006, 21h46
  3. parcourir toutes les colonnes de toutes les tables???
    Par cha_cha dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/01/2006, 12h31
  4. Parcourir tout les repertoires
    Par blue dans le forum C
    Réponses: 4
    Dernier message: 24/10/2003, 23h51
  5. [VB6] [MDI] Parcourir toutes les MDIForms chargées
    Par d.carail dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/10/2002, 09h07

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