Insérable successeur dans l'arbre de recherche binaire
-
29-09-2020 - |
Question
C'est le problème que je dois résoudre:
donné un nœud dans un arbre de recherche binaire, trouvez le nœud avec la plus petite clé supérieure à la clé de la donnée donnée nœud ..
L'algorithme qui est souvent donné est celui-ci:
bst_successor(x)
{
if(x == NULL)
return NULL;
if(x.right != NULL)
return abr_min(x.right)
y = x.p;
while(y != NULL && x = y.right)
{
x = y;
y = y.p;
}
return y;
}
(vous pouvez trouver d'autres explications sur le problème ici .)
Maintenant, je me demandais si cela peut être une autre solution:
bst_successor(x)
{
if(x == NULL)
return NULL;
if(x.right != NULL)
return abr_min(x.right)
y = x.p;
while(y != NULL && y.key < x.key)
{
y = y.p;
}
return y;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange