p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Inscrit en
    décembre 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 8
    Points : 0
    Points
    0

    Par défaut Enumérer un arbre binaire de recherche

    Bonjour, j’essaye en ce moment d’énumérer un arbre binaire de recherche par niveau (en largeur), donc voilà ce que j'ai fait mais je bloques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    import java.util.Scanner;
    
    public class ABR {
    		
    		ABR Left;
    		ABR Right;
    		int Val;
    		
    		public ABR(int Valeur, ABR L, ABR R){
    			
    			this.Val = Valeur;
    			this.Left = L;
    			this.Right = R;
    			
    		}
    		
    		ABR Enum(){
    				
    				System.out.println(this.Val);
    				
    				if(this.Left != null && this.Right != null){
    					
    					return (this.Left.Enum() && this.Right.Enum());
    					
    				}
    				
    				else if(this.Left != null && this.Right == null){
    					
    					return this.Left.Enum();
    					
    				}
    				
    				else if(this.Left == null && this.Right != null){
    					
    					return this.Right.Enum();
    					
    				}
    				
    				else{
    					
    					System.out.println("L'arbre est vide");
    					
    					return this;
    					
    				}
    				
    			}
    			
    		}
    C'est au niveau de la ligne 23 je ne vois pas comment faire... Vous n'auriez pas une autre manière de le faire s'il vous plaît, merci.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    juin 2007
    Messages
    3 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 3 749
    Points : 6 079
    Points
    6 079

    Par défaut

    Un parcours en largeur ne se fait pas en récursif mais avec une file d'attente des prochains fils.
    Tu as fait un parcours infixe.

    A part ça, quel est le problème sur ton code ?
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre expérimenté Avatar de LinuxUser
    Inscrit en
    avril 2007
    Messages
    846
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 846
    Points : 576
    Points
    576

    Par défaut

    Plusieurs questions:

    1/ Pourquoi une fonction recursive?
    2/ Pourquoi renvoie-t-elle un arbre?
    3/ Vu qu'elle renvoie un arbre, pourquoi faire un "ET" logique entre deux arbres ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return (this.Left.Enum() && this.Right.Enum());

  4. #4
    Invité de passage
    Inscrit en
    décembre 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 8
    Points : 0
    Points
    0

    Par défaut

    Oubliez le ABR de Enum je l'avais simplement mis pour compiler le programme...

    Sinon, pensez-vous que je devrai faire un tableau en oubliant bien entendu la recursivité

  5. #5
    Membre expérimenté Avatar de LinuxUser
    Inscrit en
    avril 2007
    Messages
    846
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 846
    Points : 576
    Points
    576

    Par défaut

    Comme la suggérer dinobogan, une file d'attente.

Discussions similaires

  1. Arbre Binaire De Recherche
    Par dream_lover dans le forum C
    Réponses: 4
    Dernier message: 19/05/2007, 23h45
  2. Suppression dans un arbre binaire de recherche
    Par zeine77 dans le forum Langage
    Réponses: 1
    Dernier message: 11/05/2007, 20h40
  3. Réponses: 3
    Dernier message: 31/12/2005, 12h30
  4. Réponses: 11
    Dernier message: 07/04/2004, 13h06
  5. [Arbre binaire de Recherche]
    Par Giovanny Temgoua dans le forum Général Algorithmique
    Réponses: 11
    Dernier message: 06/02/2004, 11h45

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