⾕

Computação  |  

Operações Básicas em Árvores Binárias de Busca

Inserção:

função inserir(raiz, valor):
        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:

função buscar(raiz, valor):
        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)

Percursos (ou caminhamentos): Existem três percursos principais: Pré-ordem - visita o nó atual, depois a esquerda, depois a direita; Em ordem (in-order) - esquerda, nó atual, direita. (usado para obter valores ordenados); Pós-ordem - esquerda, direita, nó atual.

Veja abaixo, um exemplo de percurso em ordem:
função em_ordem(nó):
        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.

Back Next