O que significa esse código pseudo?- Função de sucessor de árvore de pesquisa binária
-
21-09-2019 - |
Pergunta
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
Eu sei o que "se certo [x]! = Nil então retorna a árvore-min" significa e eu o traduzi para:
if(p->RChild) return fMinValue(p->RChild);//returns the min value of the sub-tree starting at the right child node of p
O resto estou tendo problemas para entender.
Solução
<-
é provavelmente o operador de atribuição. p
Eu acho que é pai. O que mais você está confuso?
Outras dicas
Aqui p[]
Quase certamente significa "o nó pai". Você está trabalhando no nó x
, assim p[x]
significa "o pai do nó atual" (como right[x]
significa "o filho direito do nó atual").
o <-
Notação é atribuição. Curti =
em idiomas do tipo C.
A segunda parte do algoritmo apresentada aqui caminha pela árvore procurando a primeira vez que você subiu um link esquerdo em vez de um direito. Mas não tenho certeza se descreveria isso como uma função sucessora.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow