Árvores Equilibradas
description
Transcript of Árvores Equilibradas
Multi
Árvores EquilibradasÁrvores Equilibradas
SumárioSplay
B-tree
Vermelho-Preto
AA e BB
Multidimensionais
quaternárias
k-d
Pesquisa Lexicográfica
tries multivia
tries binárias
PATRICIA
Multi
Árvores QuaternáriasÁrvores Quaternárias Problema: conjuntos de pontos bidimensionais
pesquisa binária está na origem da árvore de pesquisa binária
pesquisa quaternária
conjunto de pontos vistos como pontos de um plano ponto de divisão é escolhido e divide o plano em 4 quadrantes
a
c
b
hf
e
d
q
g
Multi
Pesquisa quaternáriaPesquisa quaternária Ordenação dos pontos
na pesquisa binária, garante divisão a meio do número de pontos em cada passo
na pesquisa quaternária, não há ordenação que garanta a divisão por quatro
conjunto de pontos vistos como pontos de um plano ponto de divisão é escolhido e divide o plano em 4 quadrantes
Conjunto desfavorável
qualquer divisão resulta em 2 quadrantes vazios
melhor que se pode garantir é a divisão a meio do número de pontos em cada passo
Minimax na escolha do ponto de divisão
minimizar, para todas as divisões possíveis, o número máximo de pontos em qualquer dos 4 quadrantes
ordenar pontos por x e por y e escolher o ponto na mediana
Multi
Pesquisa quaternáriaPesquisa quaternária Algoritmo de minimax
linear: em cada passo examina todos os pontos para excluir os que não são do quadrante
para melhorar pesquisa: construir árvore multivia
4 filhos em cada nó, 1 por quadrante nó interno tem 1 ponto
a
f h e b
g c d
Multi
Construção de Árvores QuaternáriasConstrução de Árvores Quaternárias Pode garantir-se árvore com altura logarítmica no número de pontos
ordenar pontos: por coordenada x, dentro desta por coordenada y
divisão do conjunto de pontos a meio pela mediana, e de novo a meio em cada metade
partição seguinte é em cada um dos subconjuntosaltura logarítmica resulta da redução dos pontos pelo menos a metade em cada partição
Eficiência em árvores quaternárias
Construção: O(N log N)
Pesquisa de gama de valores: O(M + N) com árvore de altura logarítmica
Multi
Árvores k-dÁrvores k-d Árvore 2-d - melhor divisão em 4 dos conjuntos de pontos que a quaternária
decisão na árvore tomada alternadamente usando a coordenada x e a coordenada y
casos desfavoráveis não são os mesmos da árvore quaternária
a
c
b
hf
e
d
q
g
2
2
3
3
3
3
4
1
Multi
Árvore 2-dÁrvore 2-d Construção
determinar mediana em x e partir conjunto de pontos
continuar sobre cada subconjunto independentemente
comparações em x usam pares de coordenadas, em y os pares inversos
a
f
b
c
e d hg
x
y
x
y
Multi
Árvore 2-dÁrvore 2-d Caso desfavorável na árvore quaternária
árvore 2-d equilibrada
e
c
a
g
b f hd
ab
cd
e
f
g
h
Multi
Árvores k-dÁrvores k-d Generalização para elementos k-dimensionais
ordenação usa 1 atributo de cada vez
Equilíbrio - difícil de garantir
Generalização para elementos k-dimensionais
ordenação usa 1 atributo de cada vez
Equilíbrio - difícil de garantir, solução é reorganização periódica
Pesquisas típicas: sobre gamas de valores em cada dimensão
Eficiência da árvore 2-d
inserção ou pesquisa exacta: O(logN) em média (profundidade logarítmica), O(N) no pior caso
pesquisa de gamas de valores: dependem do tamanho do resultado
pesquisa de gama em árvore equlibrada: O(M + N) no pior caso
M tamanho da resposta pior caso é percorrer árvore com metade da altura
Eficiência da árvore k-d
em árvore equilibrada, pesquisa de gama é no pior caso O(M + k N1 -1/k)