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

C Discussion :

Problème d'arbre binaire


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Points : 114
    Points
    114
    Par défaut Problème d'arbre binaire
    Bonjour,

    Voila j'essaie depuis un moment de faire une fonction qui me dit si deux ABR sont équivalents ou non (c'est à dire si tout les éléments de l'arbre A sont exactement les mêmes dans l'arbre B). Le seul soucis est que ma fonction me renvoie les 3/4 du temps vrai alors que ça ne l'est pas. Voici ce que j'ai fais:

    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
    booleen Equivalent (arbre A, arbre B)
    {
          if (!EstVide (A) && !EstVide (B))
          {
               if (A->val != B->val)
               {
                     return faux;
               }
               Equivalent (A->sag, B->sag);
               Equivalent (A->sad, B->sad);
     
               return vrai;
          }
     
          return faux;
    }
    booleen est une enumeration qui contient les valeurs vrai ou faux et EstVide est une fonction qui me dit si un arbre est vide ou non. Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
               Equivalent (A->sag, B->sag);
               Equivalent (A->sad, B->sad);
    il faut utiliser les valeurs de retour de ces appels.


    Le schéma de la fonction me semble être le suivant :

    - SI A est vide ET B est vide, ils sont équivalents.
    - SINON SI A est vide ET B n'est pas vide OU si A n'est pas vide ET B est vide, ils ne sont pas équivalents
    -------- SINON SI A->val est égal à B->val ET A->sag est équivalent à B->sag ET A->sad est équivalent à B->sad, ils sont équivalents
    ---------------SINON ils ne sont pas équivalents
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 327
    Points : 114
    Points
    114
    Par défaut
    En effet tu avais raison j'utilisais mal ma récurrence. Merci beaucoup

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

Discussions similaires

  1. problème construction arbre binaire
    Par blackbird1 dans le forum C++
    Réponses: 14
    Dernier message: 27/04/2015, 10h00
  2. Problème vecteurs Arbre binaire
    Par Flo FR dans le forum Débuter
    Réponses: 5
    Dernier message: 11/01/2015, 00h42
  3. Réponses: 3
    Dernier message: 15/03/2008, 15h15
  4. probléme avec arbre binaire
    Par lanageuse56 dans le forum C
    Réponses: 13
    Dernier message: 17/05/2007, 16h50
  5. [Méthode de tri][Arbre binaire] Problème dans l'ordre total
    Par jgavard dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 24/04/2007, 16h55

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