Computação |
Operações Básicas em Árvores Binárias de Busca
Inserção:
se raiz é nula:
retorna novo nó com valor
se valor < raiz.valor:
raiz.esquerda = inserir(raiz.esquerda, valor)
senão:
raiz.direita = inserir(raiz.direita, valor)
retorna raiz
Busca:
se raiz é nula ou raiz.valor == valor:
retorna raiz
se valor < raiz.valor:
retorna buscar(raiz.esquerda, valor)
senão:
retorna buscar(raiz.direita, valor)
Veja abaixo, um exemplo de percurso em ordem:
se nó não é nulo:
em_ordem(nó.esquerda)
imprimir(nó.valor)
em_ordem(nó.direita)
Remoção de Nós
Remover um nó de uma árvore binária exige cuidado:
• Caso 1: o nó é uma folha → basta removê-lo.
• Caso 2: o nó tem um filho → substituí-lo pelo filho.
• Caso 3: o nó tem dois filhos → substituí-lo pelo menor valor da subárvore direita (ou o maior da esquerda), e depois remover esse valor duplicado.