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 :

Arbre binaire : lecture des feuilles


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Points : 1 111
    Points
    1 111
    Par défaut Arbre binaire : lecture des feuilles
    Bonjour.

    Je voudrai une technique (un algorithme) pour lire l'ensemble des feuilles d'un arbre binaire, et placer ses feuilles dans un tableau, associé à la suite de bits correspondant à chaque feuille. Pouvez vous m'aider s'il vous plaît ?

    Merci beaucoup.

    Kromartien.

  2. #2
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    1. le type 'a tree est un type arbre binaire avec des données aux noeuds et aux feuilles
    2. le type fold est le type des fonctions qui parcourrent les cellules d'un 'a tree
    3. la fonction leaves est une fonction de type fold qui ne parcourre que les feuilles (dans l'ordre infixe)


    Code Caml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    type 'a tree = 
      | Nil
      | Leaf of 'a 
      | Node of 'a tree * 'a * 'a tree
    
    type ('a,'b) fold = ('a -> 'b -> 'b) -> 'b -> 'a tree -> 'b
    
    let leaves : ('a,'b) fold = fun f init t ->
      let rec loop acc = function
      | Nil -> acc
      | Leaf a -> f a acc
      | Node (l,a,r) -> loop (f a (loop acc l)) r
      in loop init t
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Points : 1 111
    Points
    1 111
    Par défaut
    ok , merci beaucoup... Finalement j'avais trouvé un truc qui m'allait bien, donc je peux dire que c'est résolu.

    Ton code est du Ocaml, si je ne m'abuse. Bon, je fais quelque chose en C, donc ce n'est pas forcément ce qu'il y a de plus proche.

    Merci beaucoup néanmoins.

    Au revoir.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/04/2015, 11h55
  2. probleme d'arbre, evaluation des feuilles
    Par watiero dans le forum C++
    Réponses: 4
    Dernier message: 01/04/2008, 16h11
  3. somme des noeuds d'un arbre binaire
    Par bibi182 dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2007, 11h30
  4. [FPDF] Forcer la lecture des feuilles de styles
    Par gedeon555 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/11/2006, 15h36
  5. Problème de lecture des cellules dans une feuille Excel
    Par wangjun dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/10/2006, 09h35

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