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 :

Algo de Suppression dans un AVL


Sujet :

Algorithmes et structures de données

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Algo de Suppression dans un AVL
    Bonsoir à tous.

    Je me présente à vous car j'ai un petit soucis d'algorithmique sur les AVL.

    Les AVL ce sont des Arbres Binaires de Recherches qui ont la particularité d'être équilibrés. (Chaque Noeud vérifie la propriété : Equilibre = Hauteur du fils gauche - Hauteur du fils droit = -1 ou 0 ou 1)

    En ce qui concerne l'algo. d'insertion, en voici un résumé pour vous faire une idée :

    -On cherche où l'on va insérer le nouveau noeud s'il n'existe pas déjà.
    -Des qu'une place est libre a un endroit correspondant, on insère le noeud.
    -Lorsqu'on parcours l'arbre pour chercher une nouvelle position, on retient le dernier noeud avec un équilibre différent de 0.
    -Après insertion, on test l'équilibre du Noeud cité juste au dessus. En fonction de ce qu'il vaut on effectue un rééquilibrage (une rotation gauche, droite, gauche-droite ou droite-gauche) ou rien si son equilibre vaut toujours -1 ou 0 ou 1.

    Ici ma question est : Pour l'algorithme de Suppression, quel Noeud dois-je retenir pour effectuer mon rééquilibrage (mes rotations donc) ?

    Merci d'avance !

  2. #2
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut tous les noeuds sur le chemin
    Pour l'algorithme de Suppression, quel Noeud dois-je retenir pour effectuer mon rééquilibrage (mes rotations donc) ?
    Tu dois retenir la totalité du chemin, tester tous les noeuds sur ce chemin et les rééquilibrer si nécessaire. Dans le cas de l'insertion il y a un seul rééquilibrage au plus. Dans le cas de la suppression tout noeud sur le chemin qui conduit au noeud supprimé est susceptible de donner lieu à un rééquilibrage.

    La façon la plus simple de mémoriser la totalité du chemin c'est de coder la recherche du noeud de façon récursive au lieu de façon itérative.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    C'est la solution que j'ai mise en oeuvre depuis hier et ça marche, je pensais qu'on pouvait faire mieux mais j'ai au moins certitude que non.

    Merci !

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

Discussions similaires

  1. Suppression dans un AVL
    Par chouki dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 31/12/2008, 22h33
  2. Suppression dans un AVL
    Par SaladinDev dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 05/05/2006, 18h02
  3. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35
  4. [LG]suppression dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 9
    Dernier message: 16/12/2003, 21h20
  5. [LG]suppression dans un fichier
    Par cedrick essale dans le forum Langage
    Réponses: 5
    Dernier message: 10/08/2003, 15h22

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