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

Java Discussion :

Arbres binaires de recherche


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut Arbres binaires de recherche
    Bonjour,
    Je suis entrain de programmer en Java des arbres binaires de recherche pour un usage personnel. Tout marche bien.
    Mais, j'ai pensé à un truc : Heureusement que toutes mes clés sont numériques et donc peuvent être liées par une relation d'ordre. Que se passe -t- il si mes clés n'étaient pas numériques mais plutôt alphanumériques (exemple :attribut type chaîne de caractères) ou pire clé composée (plusieurs attributs)?

    C'est une simple question de curiosité.

    Merci à vous

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Ben, elles peuvent toujours être liées par une relation d'ordre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Oui, tu peux créer une règle pour dire d'un objet qu'il est "avant" ou "après" un autre.
    Pour cela, regarde l'interface "Comparable"
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  4. #4
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut
    Merci à toi.
    Je m'attendais à cette réponse puisqu'on peut les trier également. mais je ne savais pas si cela se faisait.
    J'ai une petite question et votre avis m’intéresse beaucoup:
    J'ai développé une petite application qui permet de partir d'une liste d'objets, j'arrive à construire correctement l'ABR qui y correspond. Cela marche bien. j'arrive à retourner si l'objet se trouve ou pas dans la structure.
    La prochaine étape c'est indiquer sa position dans la liste (une longue liste) puisque je ne dispose que de sa position dans l'ABR. Alors quelques conseils ou avis me seront utiles!
    En gros, il faut que j'établisse un lien entre la position dans l'arbre et la position y correspondante dans ma liste. ça n'a pas l'air d'être évident.
    J'espère que ce que je dis est clair!!
    Cordialement

  5. #5
    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 : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Connaissant uniquement la position dans l'arbre, il n'est pas possible de donner l'ancienne position dans la liste ayant servie à créer l'arbre.
    En effet, le principe d'un arbre de recherche (si on omet la notion d'équilibrage) est de placer dans le sous arbre gauche ou droit selon la valeur de la donnée à insérer.

    Supposons le cas trivial d'une liste à 2 éléments entier : "3" et "5".
    Dans ton arbre binaire, la racine contient "3" et son fils droit contient "5".

    Maintenant, changeons la liste pour : "5" et "3".
    Ton arbre binaire commence par la racine contenant "5", puis le fils gauche contenant "3".

    Fils droit la première fois, fils gauche la seconde fois. L'arbre binaire de recherche a été conçu pour connaitre l'existence d'un élément. Il est complètement décorrélé de la liste initiale.

    Le seul moyen est d'ajouter un entier dans chaque nœud décrivant la position dans la liste initiale.
    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.

  6. #6
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut
    Ok, c'est clair et c'est bien ce que je craignais.

    Maiiiis même si cela m'ajoute un attribut.

    Le seul moyen est d'ajouter un entier dans chaque nœud décrivant la position dans la liste initiale.
    super idée.

    Merci infiniment à toi.

    Cordialement

  7. #7
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut
    L'arbre binaire de recherche a été conçu pour connaitre l'existence d'un élément. Il est complètement décorrélé de la liste initiale.
    Moi qui construis l'arbre binaire de recherche en y mettant les objets, j'aurais pu n'y mettre que les clés?
    ça aurait été beaucoup plus simple.

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

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