Alguem pode me explicar a execução desse codigo.
comentei algumas linhas c/ duvidas!
public void emOrdem(ArvoreNo no) {
if(no != null)
{
emOrdem(no.getNoE());
System.out.print(no.getInfo()+" ");
emOrdem(no.getNoD());
}
}
Para a árvore acima, o percurso seria: 2, 7, 5, 6, 11, 2, 5, 4 e 9. Veja a linha de execução:
emOrdem(2->esq)
emOrdem(7->esq)
emOrdem(2->esq) //Avanço a esquerda ate dar null
visita(2) // imprimiu o valor do nó
emOrdem(2->dir)
//Aqui é que nao entendi, ele foi para direita e deu null? e como ele ja esta imprimindo?
visita(7)
emOrdem(7->dir)
emOrdem(6->esq)
emOrdem(5->esq)
visita(5)
emOrdem(5->dir)
visita(6)
emOrdem(6->dir)
emOrdem(11->esq)
visita(11)
emOrdem(11->dir)
visita(2)
emOrdem(2->dir)
emOrdem(5->esq)
visita(5)
emOrdem(5->dir)
emOrdem(9->esq)
emOrdem(4->esq)
visita(4)
emOrdem(4->dir)
visita(9)
emOrdem(9->dir)