Uma árvore binária cujos nós armazenam números inteiros pode...
Uma árvore binária cujos nós armazenam números inteiros pode ser representada na linguagem Python por uma lista com três elementos:
• o primeiro representa a informação armazenada no nó (número inteiro);
• o segundo é uma lista que representa a subárvore esquerda;
• o terceiro é uma lista que representa a subárvore direita.
As variáveis a seguir representam os nós de uma árvore binária construída segundo a estrutura acima descrita. Os nós n3, n4 e n6 são as folhas; n1, n2 e n5 são os nós intermediários; e n0 é o nó raiz.
n6=[4,[],[]]
n5=[6,[],n6]
n2=[8,n5,[]]
n3=[5,[],[]]
n4=[9,[],[]]
n1=[7,n3,n4]
n0=[3,n1,n2]
Seja o seguinte programa Python:
O que será exibido no console quando ele for executado?
Comentários
Veja os comentários dos nossos alunos
N0
/ \
N1 N2
/ \ \
N3 N4 N5
\
N6
Contagem das Folhas
int contarFolhas(No *pRaiz){
if(pRaiz == NULL)
return 0;
if(pRaiz->esquerda == NULL && pRaiz->direita == NULL)
return 1;
return contarFolhas(pRaiz->esquerda) + contarFolhas(pRaiz->direita);
}
alguém pode expilcar isso???? não entendo nada.
OR XOR NOR AND
A arvore é como o Bruno mostrou:
N0
/ \
N1 N2
/ \ \
N3 N4 N5
\
N6
Aí o programa vai chamar na ordem que estão dispostas nos vetores. Então será:
1) N0 -> N1 -> N3 (mostra valor de N3)
2) Volta pra N1 -> N4 (mostra valor de N4)
3) Volta pra N1 -> (mostra valor de N1)
4) Volta pra N0 -> N2 -> N5 -> N6 (mostra valor de N6)
5) Volta pra N5 (mostra valor de N5)
6) Volta pra N2 (mostra valor de N2)
7) Volta pra N0 (mostra valor de N0)
fim.
O segredo da questão está na ordem do percurso da árvore. O percurso é o Pós-Ordem (Esquerda, Direita, Raiz)
Obs.: utilize a árvore do Bruno Torregiani
- Ele passa como parâmetro da lista o n0. lista(n0)
- n0[3, n1, n2], ou seja 3(RAIZ), n1(Esquerda), n2(Direita)
- Com as premissas apresentadas, ja temos que o 1º nó a ser impresso é n3(valor 5) e o último nó é a raiz n0(valor 3)
- a única alternativa que contempla as presmissas é a C (5 9 7 4 6 8 3)
@papirobizurado
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo