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 :

Récursivité et liste


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Récursivité et liste
    Bonjours, je cherche comment faire pour afficher les résultat d'une boucle récursive dans un liste car franchement je trouve pas

    Voila un exemple:

    On a un arbre binaire et on veut afficher les étiquettes de ses feuilles dans une liste. L'algo doit donc parcourir l'arbre récursivement et mettre chaque feuille de celui-ci dans ma liste.

    exemple un arbre tel que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                                          8
                                     2        11
                                 7     6   9     3
                               4              1      5
    renvoi la liste: 4,6,1,5

    (désolé pour cet arbre super moche)

    Merci à vous

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    je dirai déjà qu'il manque un 9 dans ton exemple

    Est ce que tu arrives déjà à parcourir ton arbre récursivement?
    Si oui, il te suffit alors d'ajouter un simple test du style :
    - si on est dans une feuille alors ajouter la valeur à ma liste.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Oui manque le 9 c'est vrai
    J'arrive a parcourir récursivement l'arbre mais je ne voit pas comment faire pour conserver les résultats déja présent dans ma liste sans l'effacer à chaque récursion....

  4. #4
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Voici un script Python qui fait ce que tu veux.
    L'arbre est ici représenté sous la forme (universelle) de liste.
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Tree=[8,[2,[7,[4]],[6]],[11,[9],[3,[1],[5]]]]
     
    def Traite (T,L):
        if len(T)==1:
            L.append(T[0])
        else:
            for X in T[1:]:
                Traite(X,L)
        return L
     
    print Traite(Tree,[])
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    ok j'ai compris merci à vous deux pour vos réponses!

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/12/2009, 16h58
  2. Réponses: 3
    Dernier message: 19/07/2009, 17h17
  3. Récursivité sur une liste
    Par shelzy01 dans le forum Pascal
    Réponses: 2
    Dernier message: 06/01/2008, 19h08
  4. Comment marche la récursivité pour les listes ?
    Par Seb981 dans le forum Prolog
    Réponses: 6
    Dernier message: 31/05/2007, 21h28
  5. Réponses: 4
    Dernier message: 08/12/2006, 11h15

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