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

Langage Java Discussion :

Enumérer un arbre binaire de recherche


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 2
    Points
    2
    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
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    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 ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 2
    Points
    2
    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 confirmé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Points : 616
    Points
    616
    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 Algorithmes et structures de données
    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