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:
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
3 anos atrás
3 anos atrás
3 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
7 anos atrás
7 anos atrás