Prévia do material em texto
1. Exercício: Peça aos alunos que criem uma implementação de árvore AVL em
Java e implementem as operações básicas: inserção e busca. Em seguida,
peça que testem a implementação inserindo alguns elementos na árvore e
buscando por eles.
Resposta:
# Testando a implementação da árvore binária de busca
arvore = ArvoreBinariaBusca()
arvore.inserir(5)
arvore.inserir(3)
arvore.inserir(7)
arvore.inserir(2)
arvore.inserir(4)
arvore.inserir(6)
arvore.inserir(8)
print(arvore.buscar(3)) # Deve imprimir o endereço de memória do nó com
valor 3
print(arvore.buscar(9)) # Deve imprimir None
javaCopy codeclass No {
int valor;
No esquerda;
No direita;
int altura;
public No(int valor) {
this.valor = valor;
this.altura = 1;
}
}
public class ArvoreAVL {
private No raiz;
private int altura(No no) {
if (no == null) return 0;
return no.altura;
}
private int balanceamento(No no) {
if (no == null) return 0;
return altura(no.esquerda) - altura(no.direita);
}
private No rotacaoDireita(No y) {
No x = y.esquerda;