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 :

simulateur d'un arbre


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 16
    Par défaut simulateur d'un arbre
    salut les pro's
    je veux connaitre comment simuler un arbre binaire ,interface grphique ,(suppression des noeuds, egalement les ajouter)en utilisant C ou JAVA.svp c important merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut
    si tu veux des fonctions, sur google tu trouveras surement des choses. pour l a
    Tout d abord il faut choisir ton langage, car melanger du java et du C c est pas conseille.

  3. #3
    Membre confirmé Avatar de _kal_
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Par défaut
    La simulation d'un arbre en C n'est pas une chose tres complexe. Cela se réalise à l'aide de structures et de pointeurs.

    Par contre, ajouter une interface graphique pour visualiser ce dernier, je n'en ai aucune idée

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut
    pour la struture je ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef struct node {
        struct tree *node_left;
        struct tree *node_right;
        int node_val;
    }node_t;
    apres pour les fonction ajouter, il y a plusieurs criteres :
    la valeur du fils gauche est plus petit que le fils droit.
    il y a aussi (d apres mes souvenir) une histoire de hauteur entre le fils droit et le fils gauche qui ne doit pas depasser une hauteur de 2.
    ...

    pour les fonction ajouter un noeud, effacerun noeud tu trouveras ca sur google.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Cette règle, c'est pour les arbres équilibrés.
    Il y a quelques trucs mà-dessus sur Wikipédia.
    On parle beaucoup d'arbre rouge-noir, mais je n'ai étudié que les arbres AVL...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Pour un arbre binaire, dans la définition classique, il n'y a par de régle pour les valeurs des fils gauche et droit.

    De manière classique, il est défini avec ces opérations ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    arbreEstVide(arbre) : détermine si l'arbre est vide
    arbreVide() : constructeur d'arbre vide
    arbreLireGauche(arbre) -> arbre : renvoit l'arbre gauche à partir de la racine
    arbreLireDroit(arbre) -> arbre : idem mais avec l'arbre droit
    arbreLireRacine(arbre) -> élément : renvoit la racine de 'larbre
    arbreCreer(racine, arbre, arbre) -> arbre : construit un arbre avec l'arbre gauche, l'arbre droit et la racine.
    Il y a les arbres binaires parfaits: C'est quand il est rempli sur tous les niveaux.


    L'arbre binaire de recherche: c'est quand le fils gauche est plus petit que la racine et le fils droit est plus grand que la racine pour chaque sous arbre.

Discussions similaires

  1. arbres BB
    Par cedrick essale dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 03/12/2002, 15h39
  2. Ordre de parcours de l'arbre...
    Par Sylvain James dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 01/12/2002, 18h41
  3. Qu'est ce qu'un arbre
    Par sandrine dans le forum C
    Réponses: 8
    Dernier message: 23/10/2002, 13h12
  4. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 16h48
  5. arbre de parcour d'arborescence windows
    Par chupachoc dans le forum Composants
    Réponses: 7
    Dernier message: 09/09/2002, 08h09

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