Qu'est-ce que ce code pseudo signifie - Recherche binaire Successeur Arbre Fonction

StackOverflow https://stackoverflow.com/questions/2304809

  •  21-09-2019
  •  | 
  •  

Question

if right[x] != NIL
 then return TREE-MINIMUM(right[x])

 y<-p[x]
 while y!= NIL and x = right[y]
  do x<-y
  y<-p[y]
 return y

Je sais ce que « si droit [x] = NIL puis retour arbre min! » Signifie et je l'ai traduit à:

if(p->RChild) return fMinValue(p->RChild);//returns the min value of the sub-tree starting at the right child node of p

Le reste, je vais avoir du mal à comprendre.

Était-ce utile?

La solution

<- est très probablement l'opérateur d'affectation. p Je suppose est parent. Que vous êtes confus au sujet?

Autres conseils

Ici p[] signifie presque certainement « le nœud parent de ». Vous travaillez sur le noeud x, donc p[x] signifie « le parent du noeud courant » (comme right[x] signifie « l'enfant à droite du noeud courant »).

La notation est <- mission. Comme = dans les langues c-like.

La deuxième partie de l'algorithme présenté des promenades sur l'arbre à la recherche pour la première fois que vous ascensionnés un lien gauche au lieu d'un droit. Mais je ne suis pas sûr que je qualifierais cela comme une fonction successeur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top