Matemática Múltipla Escolha

Seja o seguinte código Python, cujo principal objetivo é implementar manualmente uma árvore binária: def NoArvore: def init(self, chave=None, esquerda=None, direita=None): self.chave = chave self.esquerda = esquerda self.direita = direita if name == 'main': raiz = NoArvore(55) raiz.esquerda = NoArvore(35) raiz.direita = NoArvore(75) raiz.direita.esquerda = NoArvore(65) raiz.direita.direita = NoArvore(85) raiz.esquerda.esquerda = NoArvore(25) raiz.esquerda.direita = NoArvore(45) Com base na execução do código acima, assinale a alternativa correta:

Seja o seguinte código Python, cujo principal objetivo é implementar manualmente uma árvore binária:

def NoArvore:
def init(self, chave=None, esquerda=None, direita=None):
self.chave = chave
self.esquerda = esquerda
self.direita = direita

if name == 'main':
raiz = NoArvore(55)
raiz.esquerda = NoArvore(35)
raiz.direita = NoArvore(75)
raiz.direita.esquerda = NoArvore(65)
raiz.direita.direita = NoArvore(85)
raiz.esquerda.esquerda = NoArvore(25)
raiz.esquerda.direita = NoArvore(45)

Com base na execução do código acima, assinale a alternativa correta:

  1. A árvore criada possui altura 6, com todos os nós distribuídos uniformemente.
  2. A classe NoArvore possui lógica interna que garante a ordenação dos nós durante a inserção.
  3. A árvore criada não pode ser considerada uma árvore binária de busca.
  4. A estrutura da árvore não pode ser determinada apenas pelo código fornecido.
  5. A árvore criada é uma árvore binária de busca com altura 2 e folhas no mesmo nível.

Resolução completa

Explicação passo a passo

E
Alternativa E

Alternativa E - A árvore criada é uma árvore binária de busca com altura 2 e folhas no mesmo nível.

Análise Detalhada

Para responder corretamente, precisamos reconstruir mentalmente a estrutura da árvore gerada pelo código Python apresentado e analisar suas propriedades.

1. Reconstrução da Estrutura da Árvore

O código inicializa uma raiz e conecta os nós manualmente, sem usar métodos de inserção automática. Vamos mapear os níveis:

  • Nível 0 (Raiz): 55
  • Nível 1 (Filhos diretos):
  • Esquerda: 35 (menor que 55)
  • Direita: 75 (maior que 55)
  • Nível 2 (Netos):
  • De 35: Esquerda=25, Direita=45
  • De 75: Esquerda=65, Direita=85

A representação visual fica assim:

       55
     /    \
   35      75
  /  \    /  \
 25  45  65  85

2. Definição de Árvore Binária de Busca (ABB)

Uma Árvore Binária de Busca deve obedecer à seguinte regra fundamental:

Para qualquer nó N, todos os valores na subárvore esquerda devem ser estritamente menores que N, e todos os valores na subárvore direita devem ser estritamente maiores que N.

Vamos testar a nossa árvore construída:

  • 55: Subárvore esquerda tem \{35, 25, 45\} (todos < 55). Subárvore direita tem \{75, 65, 85\} (todos > 55). OK.
  • 35: Subárvore esquerda tem $25 (< 35). Subárvore direita tem $45 (> 35). OK.
  • 75: Subárvore esquerda tem $65 (< 75). Subárvore direita tem $85 (> 75). OK.

Portanto, a estrutura montada é uma Árvore Binária de Busca válida.

3. Avaliação das Alternativas

  • A) Incorreta. A altura da árvore é 2 (considerando a raiz no nível 0), e não 6. Além disso, a distribuição é perfeitamente balanceada neste caso específico, mas o erro no valor da altura invalida a opção.
  • B) Incorreta. A classe NoArvore contém apenas um construtor (init). Ela não possui nenhum método de inserção (insert) ou lógica de comparação interna. A ordem foi imposta manualmente no bloco if name == 'main':.
  • C) Incorreta. Como demonstrado na análise da estrutura, a árvore obedece rigorosamente à propriedade de ordenação de uma Árvore Binária de Busca.
  • D) Incorreta. O código define explicitamente todas as referências (esquerda e direita), permitindo determinar a estrutura completa.
  • E) Correta.
  • É uma Árvore Binária de Busca (confirmação acima).
  • Possui altura 2 (nível máximo dos nós).
  • Possui folhas no mesmo nível (nós 25, 45, 65 e 85 estão todos no nível 2).

Conclusão

A alternativa E descreve com precisão as características topológicas e lógicas da árvore construída pelo script fornecido.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.