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 :

équilibrer une arbre


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Points : 12
    Points
    12
    Par défaut équilibrer une arbre
    bonjour ;
    j'ai implanté une fonction qui ajoute une arbre mais je dois maintenir l'ordre et l'équilibre de l'arbre (là je n'arrive pas maintenir à l'ordre et l'équilibre) voici la fonction :

    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
    typedef struct noeud
    {
    	int cle; // Clé de recherche. C'est ce nombre que vous devez comparer pour savoir s'il faut descendre à droite ou à gauche.
    	struct noeud *gauche;
    	struct noeud *droite;
    } Noeud;
    typedef Noeud *Arbre;
     
     
    Arbre ajoutArbre(Arbre a, int cle, double info)
    {
      if(!a)
      {
       Noeud*g=malloc(sizeof(Noeud));
       g->cle=cle;
       g->gauche=g->droite=0;
       return g;
      }
      if(cle==a->cle) return a;
      if(cle<a->cle) a->gauche=ajoutArbre( a->gauche, cle, info);
      if(cle>a->cle) a->droite=ajoutArbre( a->droite, cle, info);
      return a;
    }
    pouvez vous m'aider pour faire les zigzigs et zigzags pour pouvoir maintenir l'ordre et l'équilibre de l'arbre ?
    merci en avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 86
    Points : 97
    Points
    97
    Par défaut
    salut,

    il existe plusieurs methodes pour ca. tu peux regarder du cote des arbres AVL par exemple; cette technique presente l'avantage d'etre assez simple et tres connue, et donc de faire l'objet de beaucoup d'exemples sur le Net (la liste en bas de la page contient des liens interessants).

    -pirus.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2006
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par pirus
    salut,

    il existe plusieurs methodes pour ca. tu peux regarder du cote des arbres AVL par exemple; cette technique presente l'avantage d'etre assez simple et tres connue, et donc de faire l'objet de beaucoup d'exemples sur le Net (la liste en bas de la page contient des liens interessants).

    -pirus.
    mais tout esr en englais ,tu peut m'indiquer le lien en français stp
    et de quelle liste parle-tu ???

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 86
    Points : 97
    Points
    97
    Par défaut
    regarde ici: http://fr.wikipedia.org/wiki/Arbre_AVL

    je parle de la liste en bas de la page sur l'article Wikipedia (section "Liens Externes" dans la version francaise).

    -pirus.

Discussions similaires

  1. Lister les documents de windows dans une arbre
    Par gabcouts dans le forum WinDev
    Réponses: 1
    Dernier message: 23/08/2010, 10h12
  2. Réponses: 0
    Dernier message: 06/08/2009, 16h40
  3. recuperer les checkbox cochés d'une arbre de checkbox
    Par 01211983 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 12/02/2008, 16h33
  4. edition ou modification des noeuds d'une arbre JTREE
    Par foufoulina2007 dans le forum Composants
    Réponses: 1
    Dernier message: 30/11/2007, 22h52
  5. Réponses: 10
    Dernier message: 07/01/2007, 00h42

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