9
5.3.2 Árvores Binárias de Pesquisa Com Balanceamento

Árvores SBB

Embed Size (px)

DESCRIPTION

Apresentação para a Disciplina de EDPA no Mestrado da UFG em Ciências da Computação.

Citation preview

Page 1: Árvores SBB

5.3.2 Árvores Binárias de Pesquisa Com

Balanceamento

Page 2: Árvores SBB

Árvore completamente balanceada

• Nós folha (externos) aparecem em no máximo dois níveis diferentes

• Minimiza o tempo médio de pesquisa

• Assumindo distribuição uniforme das chaves

• Problema: manter árvore completamente balanceada após cada inserção é

muito caro

Page 3: Árvores SBB

Árvore completamente balanceada

• Para inserir a chave 1 na árvore do exemplo à esquerda e obter a árvore à

direita do mesmo exemplo é necessário movimentar todos os nós da árvore

original

Page 4: Árvores SBB

Árvores “quase balanceadas”

• Solução intermediária que mantém a árvore “quase balanceada”, em vez de tentar manter a árvore completamente balanceada.

• Oferece bons tempos de pesquisa, próximos ao tempo ótimo da arvore completamente balanceada, com um custo menor para manter o balanceamento.

• Exemplos de restrições aplicadas a árvores para fazê-las “quase balanceadas”

• Fazer que todas as folhas aparecem no mesmo nível

• Restringir a diferença entre as alturas das subárvores de cada nó

• Minimizar o comprimento do caminho interno da árvore

Page 5: Árvores SBB

Árvores SBB

(Symmetric Binary B-trees)

• Uma árvore SBB é uma árvore binária com apontadores verticais e

horizontais, tal que:

• Todos os caminhos da raiz até cada nó externo possuem o mesmo número de

apontadores verticais.

• Não podem existir dois apontadores horizontais sucessivos.

Page 6: Árvores SBB

Árvores SBB

Page 7: Árvores SBB

• A chave a ser inserida é sempre inserida após o apontador vertical

mais baixo na árvore.

• Dependendo da situação anterior à inserção podem aparecer dois

apontadores horizontais.

• Neste caso: é necessário realizar uma transformação.

Page 8: Árvores SBB

• Transformações para manter as propriedades da árvore SBB caso ocorra dois

ponteiros horizontais consecutivos:

Page 9: Árvores SBB

Árvores SBB

Estrutura e dicionário

• Diferenças da árvore sem balanceamento:

• constantes Horizontal e Vertical : representam as inclinações das referências às

subárvores;

• campo propSBB: utilizado para verificar quando a propriedade SBB deixa de ser

satisfeita

• campos incE e incD: indicam o tipo de referência (horizontal ou vertical) que sai do nó.