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 :

Suppression de noeud dans un red-black tree (arbre bicolore)


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Suppression de noeud dans un red-black tree (arbre bicolore)
    salut!
    je voudrais implementer un graphe en C avec des listes chainées pour representer les noeuds et un arbre red/black pour les arcs(chaque arc contient deux noeuds). Mais je bloque au niveau de la suppression d'un noeud qui devrait engendré egualement la supression des arcs dans l'arbre. J'ai deja essaié avec une visite ricorsive en eliminant a chaque fois l'arc qui contient le noeud, mais la procedure d'elimination dans un red/black comporte les operations d'equilibrages qui permettent a certains arcs de pas se faire controller.
    Quelqu'un a t'il une autre solution please!

  2. #2
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Franck Dernoncourt Voir le message
    Merci frank, mais ce sont là les classiques operations de suppression, j'aimerais supprimer un noeud della liste et supprimer egalement les arcs qui y sont connectés. Mes arcs sont representés par un arbre red/black.

  4. #4
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    Citation Envoyé par bakero
    j'aimerais supprimer un noeud della liste et supprimer egalement les arcs qui y sont connectés
    Lorsque tu supprimes un noeud, les arcs qui y sont connectés sont également supprimés, non ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Franck Dernoncourt Voir le message
    Lorsque tu supprimes un noeud, les arcs qui y sont connectés sont également supprimés, non ?
    Non! vu que un arc est composé de deux noeuds, je fais une recherche inorder dans l'arbre R/B des arcs je trouve l'arc qui contient le noeud et je le supprime. Mais le réequilibrage de l'arbre fait en sorte que certains noeud de l'arbre echappe au controlle.Je sais pas si je me fais comprendre.

  6. #6
    Membre émérite
    Avatar de Franck Dernoncourt
    Homme Profil pro
    PhD student in AI @ MIT
    Inscrit en
    Avril 2010
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PhD student in AI @ MIT
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 894
    Points : 2 464
    Points
    2 464
    Par défaut
    Je ne comprends pas :
    le réequilibrage de l'arbre fait en sorte que certains noeud de l'arbre echappe au controlle
    Cela fait quelques années que je n'ai pas regarder l'algo de suppression d'un noeud dans un red-black tree, mais j'ai l'impression que http://en.wikipedia.org/wiki/Red-black_tree#Removal donne bien tous les cas.

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

Discussions similaires

  1. Problème [ Arbre bicolore - Red black tree ] :
    Par vasto lord dans le forum C
    Réponses: 3
    Dernier message: 07/06/2013, 11h54
  2. Arbre rouge et noir (red–black tree)
    Par javast dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 04/12/2011, 11h58
  3. [arbre bicolore/Red Black tree]Suppression
    Par cedrix57 dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 19/10/2011, 07h51
  4. Insertion dans un arbre binaire Rouge-Noir (Red-Black Tree)
    Par monsieurouxx dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 25/06/2010, 19h29
  5. [VB.NET] [XML] Suppression d'un noeud dans un fichier XML
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/09/2004, 12h24

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