Bonjour,
Ma question concerne le "Red-Black Tree" dans sa forme la plus classique, telle qu'elle a été décrite maintes fois déjà, par exemple ici (à partir de la page 273).
Jusqu'à présent, tous les algorithmes itératifs d'insertion que je rencontre (et j'inclus la procédure auxiliaire RB-INSERT-FIXUP le cas échéant) font appel à un certain moment à x->parent->parent, c'est-à-dire le grand-père de l'élément en cours.
Or, cela n'a pas de sens quand l'arbre est vide, ou est de hauteur 1.
Je pensais qu'il s'agissait d'une négligence du théoricien et que cela devait être pris en compte dans une implémentation concrète.
Or, je constate la même "faille" dans cette honnête implémentation en C.
Ainsi, je me demande comment il faut faire? A quel endroit l'algorithme esquive-t-il le problème d'une racine valant NIL ou tout autre problème similaire???
Un petit coup de pouce serait le bienvenu...
Partager