• Matéria: Informática
  • Autor: milenacorradibarbosa
  • Perguntado 3 anos atrás

Uma árvore binária é uma estrutura que ou está vazia ou é formada por três conjuntos disjuntos: raiz, sub-árvore esquerda e sub-árvore direita. Cada uma dessas sub-árvores também é uma árvore binária e segue as mesmas regras da árvore principal.

OLIVEIRA, Pietro Martins de; LEON, Rogério de. Estrutura de Dados II. Maringá-PR, Unicesumar, 2019.

Para acessar os dados de uma árvore como essa existem algoritmos de caminhamento como o que você pode ver a seguir.

void bar(NO* r){
if(r){
bar(r->esq);
bar(r->dir);
printf("%d \t", r->dado); //visita o nó atual
}
}

A função bar representa o algoritmo de caminhamento pós-ordem para árvores binárias. Assim sendo, observe a árvore a seguir:



Considere execução da invocação da função foo(), passando como parâmetro a referência para o nó raiz com valor igual a 20, da árvore ilustrada acima. Qual alternativa representa corretamente a mensagem que seria impressa na tela do usuário?

Alternativas
Alternativa 1:
20, 3, 21, 1, 8, 31, 0, 7, 30, 40

Alternativa 2:
0, 1, 7, 8, 3, 30, 40, 31, 21, 20

Alternativa 3:
20, 3, 1, 0, 8, 7, 21, 31, 30, 40

Alternativa 4:
0, 1, 3, 7, 8, 20, 30, 31, 40, 21

Alternativa 5:
20, 21, 31, 40, 30, 3, 8, 7, 1, 0

Anexos:

Respostas

respondido por: carloswerle
1

Resposta:

Alternativa 2:

0, 1, 7, 8, 3, 30, 40, 31, 21, 20

Explicação:

Como a função bar representa o algoritmo de caminhamento pós-ordem, basta seguir a imagem de exemplo da página 42. Porém a explicação está na página 43-44.

Perguntas similares