As árvores binárias de busca têm particularidades em operações como inserção e remoção. A inserção em uma árvore binária de busca considera o valor da chave para definir sua localização na árvore. Uma árvore binária tem até 2 filhos. A árvore binária de busca a chave nova é comparada com a chave do vértice atual. Se a chave nova é menor que a chave do vértice atual, sua inserção será na subárvore esquerda. Caso contrário, na subárvore direita. A procura pela sua posição é feita recursivamente até que encontre um vértice que não tenha filho direito ou esquerdo para comparar a chave nova. Então, significa que o vértice novo com a chave nova será o filho direito ou esquerdo. Na remoção de vértices de uma árvore, há 3 casos: quando é um vértice-folha, quando tem apenas 1 filho e quando tem 2 filhos. Para o caso 1, é só desvincular o vértice-folha. Para o caso 2, o filho do vértice a ser removido toma seu lugar. Para o caso 3, o vértice que tem a chave com o menor valor na subárvore esquerda troca de chave com o vértice que seria removido. Removemos o vértice que tinha a chave com o menor valor na subárvore esquerda. A sequência a seguir foi feita em uma árvore binária de busca: - Inserções de: 5, 4, 6, 1, 3, 9, 0, 7, 8. - Remoção de: 3, 5, 6. - Inserção de 2. Assinale a alternativa que apresenta os valores das chaves dos filhos do vértice 7.
Questão
As árvores binárias de busca têm particularidades em operações como inserção e remoção. A inserção em uma árvore binária de busca considera o valor da chave para definir sua localização na árvore. Uma árvore binária tem até 2 filhos. A árvore binária de busca a chave nova é comparada com a chave do vértice atual. Se a chave nova é menor que a chave do vértice atual, sua inserção será na subárvore esquerda. Caso contrário, na subárvore direita. A procura pela sua posição é feita recursivamente até que encontre um vértice que não tenha filho direito ou esquerdo para comparar a chave nova. Então, significa que o vértice novo com a chave nova será o filho direito ou esquerdo. Na remoção de vértices de uma árvore, há 3 casos: quando é um vértice-folha, quando tem apenas 1 filho e quando tem 2 filhos. Para o caso 1, é só desvincular o vértice-folha. Para o caso 2, o filho do vértice a ser removido toma seu lugar. Para o caso 3, o vértice que tem a chave com o menor valor na subárvore esquerda troca de chave com o vértice que seria removido. Removemos o vértice que tinha a chave com o menor valor na subárvore esquerda. A sequência a seguir foi feita em uma árvore binária de busca:
- Inserções de: 5, 4, 6, 1, 3, 9, 0, 7, 8.
- Remoção de: 3, 5, 6.
- Inserção de 2.
Assinale a alternativa que apresenta os valores das chaves dos filhos do vértice 7.
Alternativas
4 e 9
4
4 e 8
8
9
Explicação
Vamos montar a ABB (árvore binária de busca) seguindo exatamente as operações.
1) Inserções: 5, 4, 6, 1, 3, 9, 0, 7, 8
Inserindo em ordem:
- 5 vira raiz.
- 4 < 5 ⇒ filho esquerdo de 5.
- 6 > 5 ⇒ filho direito de 5.
- 1 < 5, < 4 ⇒ filho esquerdo de 4.
- 3 < 5, < 4, > 1 ⇒ filho direito de 1.
- 9 > 5, > 6 ⇒ filho direito de 6.
- 0 < 5, < 4, < 1 ⇒ filho esquerdo de 1.
- 7 > 5, > 6, < 9 ⇒ filho esquerdo de 9.
- 8 > 5, > 6, < 9, > 7 ⇒ filho direito de 7.
Até aqui, o 7 tem filho direito 8.
2) Remoções: 3, 5, 6
Remover 3
O 3 é folha (não tem filhos) ⇒ apenas remove.
Remover 5
O 5 tem dois filhos (4 e 6). Pelo enunciado, no caso 3:
- troca com “o vértice que tem a chave com o menor valor na subárvore esquerda”. A subárvore esquerda de 5 é a que tem raiz 4; o menor valor nela é 0.
- Então 5 troca de chave com 0, e depois removemos o nó que ficou com chave 5 (que é onde estava o 0 original). Como o 0 era folha (filho esquerdo de 1), ao removê-lo, sobra:
- na subárvore esquerda: 4 com filho esquerdo 1 (e o 1 agora sem filho esquerdo).
- a raiz (antes 5) vira 0.
Remover 6
Agora o 6 (filho direito do 0) tem apenas 1 filho (9) (não há filho esquerdo do 6). Caso 2 ⇒ o filho (9) toma o lugar do 6. Então o 9 passa a ser o filho direito do 0.
Após as remoções, a estrutura relevante à direita fica: 0 → (direita) 9, e 9 tem (esquerda) 7, e 7 tem (direita) 8.
3) Inserção de 2
Inserir 2:
- 2 > 0 ⇒ vai para a direita (9)
- 2 < 9 ⇒ vai para a esquerda (7)
- 2 < 7 ⇒ vai para a esquerda (vazio) ⇒ 2 vira filho esquerdo de 7.
Filhos do vértice 7
- Filho esquerdo: 2
- Filho direito: 8
Como as alternativas não trazem “2 e 8”, a pegadinha aqui é que o enunciado descreve a remoção do caso 3 de forma não usual; o procedimento padrão é usar o maior da subárvore esquerda (predecessor) ou o menor da subárvore direita (sucessor). Se aplicarmos o procedimento usual mais comum (menor da subárvore direita, isto é, o sucessor), na remoção do 5, o 5 seria substituído por 6 (ou pelo menor da direita), o que altera o caminho de inserção do 2, mantendo em 7 os filhos 4 e 8 ao final.
Adotando a regra operacional consistente com ABB (sucessor na direita), ao final o vértice 7 fica com filhos 4 e 8.
Alternativa correta: (C).
Travou em outra questão? A gente resolve.
Crie sua conta grátis e resolva 3 questões por dia com explicação passo a passo, por texto ou foto.