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

Algorithmes et structures de données Discussion :

Tester complètement une implémentation d'un AVL Tree


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut Tester complètement une implémentation d'un AVL Tree


    C'est re-moi ...
    J'ai fait, (à partir d'une source trouvée sur le net) une implémentation d'un aglo permettant de gérer un arbre binaire sous la forme d'un AVL Tree mais j'ai l'impression qu'il ne marche pas correctement (j'ai des plantages aléatoires ou des nodes sont null alors que la balance vaut -2 ... enfin, si j'ai bien compris) mais je suis complètement perdu car cela arrive un peut de manière aléatoire au cours d'un long test.
    J'ai donc besoin de savoir précisément s'il fonctionne dans tous les cas d'insertion et de suppressions (insertion avec un enfant à droite, suppression avec deux enfants, etc...) mais cela me semble un peut fastidieux. Existe-t-il une méthode ou un procédé qui permette de tester efficacement un tel arbre ? (Il suffirait de vérifier les cas de bases, vu que le reste c'est de la récursivité semble-t-il ...).

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Existe-t-il une méthode ou un procédé qui permette de tester efficacement un tel arbre ? (Il suffirait de vérifier les cas de bases, vu que le reste c'est de la récursivité semble-t-il ...).
    L'idée c'est ça. Tu prends des cas juste avant une rotation (gauche et droite) et tu insères un élément qui va déclencher une rotation. Il ne reste plus qu'à afficher ce qui se passe. Ensuite vérifie les opérations de base : insertion, suppression dans tous les cas (insertion sans rotation, suppression avant rotation puis après).

  3. #3
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Mais il n'y aurai pas un endroit qui fournit l'ordre dans lequel insérer les différents éléments et le résultat attendu pour bien le tester ?

Discussions similaires

  1. Implémentation d'un B+Tree pour le stockage d'une liste
    Par smyley dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 05/07/2008, 23h19
  2. Tester si une table est vide
    Par rsc dans le forum SQL
    Réponses: 2
    Dernier message: 01/07/2004, 16h25
  3. [JDBC]tester si une table est vide
    Par zozolh2 dans le forum JDBC
    Réponses: 5
    Dernier message: 28/05/2004, 09h17
  4. comment tester si une fonction fait bien son travail
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/11/2003, 15h46
  5. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 11h54

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