Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos,...

55
Árvores B Conceitos Exemplos

Transcript of Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos,...

Page 1: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

Árvores B

ConceitosExemplos

Page 2: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

2

Conceito

Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto-balanceamento

Page 3: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

3

Definição

Uma árvore B de ordem M, é uma árvore de busca com as seguintes propriedades :

Page 4: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

4

Limites para árvores B

Page 5: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

5

Exemplos de nós de árvores B de ordens 3, 4 e 5

Ordem 3

Ordem 4

Ordem 5

Page 6: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

6

Exemplo de árvore B de ordem 3

Page 7: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

7

Exemplo de árvore B de ordem 3

Irmãos adjacentes são páginas com pai comum e que são apontadas por ponteiros adjacentes, na página ancestral, tais como :

( . 55. ) e ( . 70. 80 . ) no exemplo anterior.Registro separador é aquele que está entre os ponteiros para irmãos adjacentes, tal como, no exemplo anterior 64 separa

( . 55 . ) de ( . 70 . 80 . ).

Page 8: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

8

Busca e recuperação de registros

1. Busca-se o registro desejado na raiz.2. Compara-se a chave de busca com as

chaves na página (são os registros separadores).

3. Caso não se encontre, na página, a chave buscada identifica-se o ponteiro para a sub-árvore aonde possa estar o registro.

4. Se o ponteiro identificado estiver aterrado significa que a chave buscada não está presente na árvore B.

5. Se este ponteiro não estiver aterrado, a raiz da sub-árvore é lida e retorna-se ao passo 1.

Page 9: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

9

Ponteiros aterrados em árvores B

S e j a n p o n ú m e r o d e p á g i n a s d e u m a á r v o r e d e m ú l t i p l o s c a m i n h o s e q u e c o m p o r t e N r e g i s t r o s .

n ú m e r o d e r e g i s t r o s p o r p á g i n a n i n ú m e r o d e p o n t e i r o s p o r p á g i n a n i 1 n ú m e r o t o t a l d e r e g i s t r o s

n Nii

n p

1

n ú m e r o t o t a l d e p o n t e i r o s n N ni pi

n p

11

n ú m e r o d e p á g i n a s q u e s ã o a p o n t a d a s p o r p o n t e i r o s

n p 1

n ú m e r o d e p o n t e i r o s a t e r r a d o s N n n Np p 1 1

L o g o , u m a á r v o r e B c o m N r e g i s t r o s p o s s u i N + 1 p o n t e i r o s a t e r r a d o s . O s p o n t e i r o s a t e r r a d o s , e m á r v o r e s B , e s t ã o n a s f o l h a s .

Page 10: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

10

Altura máxima de árvores B

Page 11: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

11

Inclusão de Registros em Árvores B

As inclusões ocorrem nas páginas terminaisAplica-se o algoritmo de busca de registros com a chave a incluirDeve-se chegar a um ponteiro aterrado em folhaO registro a incluir deve ser incluído nessa página

Page 12: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

12

Inclusão de Registros em Árvores B

Havendo espaço (o que ocorre quando a população da página é menor que M-1) não haverá problema, inclui-se a nova chave e um novo ponteiro aterrado Caso isto seja impossível é necessário fazer uma partição de página

Page 13: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

13

Partição de nós super povoados

1. Faz-se a inclusão na página super povoada2. A porção esquerda da página nela permanece.3. Aloca-se uma nova página e para ela transporta-se a

porção direita da página superpovoada.4. O registro central é incluído na página ancestral

juntamente com o ponteiro para a pagina recém-alocada.5. A nova página passa a ser, também filha do nó ancestral

da página que transbordou6. O registro que subiu será o registro separador das duas

folhas.7. A página ancestral recebe, no processo, mais um

registro. Esta inclusão pode acarretar outro transbordamento. Estes transbordamentos podem-se propagar até a raiz.

8. Quando ocorrer cisão na raiz, nova raiz é alocada e a árvore cresce em altura

Page 14: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

14

Cisão de nós de árvores B

Supondo que uma árvore B de ordem 4 (ou seja, com 1, 2 ou 3 registros por página) na qual uma página contendo os registros de chaves 100, 200 e 300 devesse receber o registro de chave 250, tal inclusão acarretaria a cisão de páginas que se segue

Page 15: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

15

Cisão de nós de árvores B

Page 16: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

16

Exemplo de inclusão de registros em árvore B

Considere-se uma árvore B de ordem 3 (ou seja com 1 ou 2 registros por página),

mostrada adiante e na qual deseja-se incluir sucessivamente, os registros de chaves 50, 40, 60 e 20Solicita-se exibir a configuração da árvore após cada inclusão.

Page 17: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

17

Situação inicial da árvore

Page 18: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

18

Inclusão da chave 50

Page 19: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

19

Inclusão da chave 40

Page 20: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

20

Inclusão da chave 60

Page 21: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

21

Inclusão da chave 20

Page 22: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

22

Exclusão de Registros em Árvores B

Inicia com a busca de um registro com a chave a excluirSe o registro for encontrado em página terminal, processa-se a exclusãoCaso contrário o registro deve ser excluído e, em seu lugar na página não terminal deve ficar seu sucessor imediato que esteja em página terminalA população da página aonde estava o registro a excluir não se altera mas a população da folha que continha seu sucessor diminui

Page 23: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

23

Exclusão de Registros em Árvores B

Page 24: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

24

Exemplo de exclusão de registros em árvore B

Há redistribuição quando páginas irmãs vizinhas da página sub-povoada têm condições de ceder registros para esta últimaNa redistribuição (rotações RR e LL) a estrutura da árvore não é mudada, muito embora o registro separador no ancestral comum seja alteradoA concatenação de nós é operação oposta à operação de partição e é feita quando não se pode fazer a redistribuiçãoA página concatenada engloba a página sub-povoada, uma de suas irmãs e o registro separador no pai (ou mãe) comum que, em conseqüência, é removido da página ancestralEsta última remoção pode acarretar uma redistribuição ou um "underflow" na página ancestral e isto pode propagar-se até a raiz, quando a árvore tem sua altura diminuída.

Page 25: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

25

Exemplo de exclusão de registros em árvore B

A árvore B de ordem 5 (ou seja com 2 ,3 ou 4 registros por página) que se segue deve sofrer a exclusão dos registros de chaves 70, 95, 130, 60, 20, 120

Page 26: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

26

Situação inicial da árvore

Page 27: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

27

Exclusão da chave 70

Page 28: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

28

Exclusão da chave 95

Page 29: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

29

Exclusão da chave 130

Page 30: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

30

Exclusão da chave 60

Page 31: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

31

Árvore B após a exclusão do registro de chave 20

A página ( . 10 . 20 . ) torna-se muito pequena . Não há irmãs vizinhas com registros para a redistribuição .Concatenam-se a página sub-povoada , uma irmã e a mãe .( . 25 . 45 . ) torna-se muito pequena e não cabe a redistribuição . Concatenam-se a página sub-povoada , uma irmã e a mãe .A árvore decresce.

Page 32: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

32

Exclusão da chave 20

Page 33: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

33

Exclusão da chave 120

Page 34: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

34

Árvores B*

Árvores B* são variações de árvores balanceadas de múltiplos caminhos, semelhantes às árvores BDiferenciam-se das árvores B por utilizar redistribuição de registros de árvores superpovoadas e ter limites de população distintosSuas raízes podem ter o dobro de filhos de uma página comumQuando as operações de busca forem muito mais freqüentes do que as operações de inclusão ou exclusão de registros, estas árvores tem desempenho melhor do que o das árvores B.

Page 35: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

35

Propriedades de Árvores B* de ordem M

1. nenhuma página, excetuando-se a raiz pode ter mais do que M filhos. 2. Toda página, exceto a raiz e as páginas terminais, tem no mínimo (2M-2)/3 + 1

filhos. 3. A raiz de uma árvore B*, a menos que a árvore tenha apenas uma página, tem no

mínimo 2 filhos e no máximo 2 (2M-2)/3 +1 filhos. 4. Todas as páginas terminais aparecem no mesmo nível, ou seja, estão a uma mesma

distância da raiz. 5. Uma página não terminal com K filhos contém K-1 registros. Uma página terminal

contém no mínimo (2M-2)/3 e no máximo M-1 registros. Observação : M significa o maior inteiro igual ou menor do que M

Page 36: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

36

Comparação entre limites de registros nas árvores B e B* de ordem M

Page 37: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

37

Altura máxima de árvore B*

Page 38: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

38

Árvores B+

As páginas terminais não tem campos de ponteiros para descendentes As páginas não terminais (indexadoras) não necessitam de ponteiros para registros do arquivo principalSua aplicação típica ocorre quando é freqüente a necessidade de processamento seqüencial dos registros.

Page 39: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

39

Exemplo de árvore B+

Á rv o re B+ d e o rd em 2 n a q u a l as p ág in as in d ex ad o ras p o d em co n te r 1 o u 2 reg is tro s (o rd em 3 ) e as p ág in as te rm in a is p o d em co n te r 2 o u 3 reg is tro s (o rd em 4 )

Page 40: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

40

Exemplo de árvore B+

Page 41: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

41

Propriedades de Árvores B+ de ordem M

1) A raiz tem 0, 2 ou entre M/2 e M filhos.2) Todas as páginas com exceção da raiz e

das páginas terminais tem no mínimo M/2 filhos e no máximo M filhos.

3) Todas as páginas terminais aparecem no mesmo nível, ou seja estão à mesma distância da raiz.

4) Uma página terminal com K filhos têm K-1 chaves.

5) Páginas terminais representam o conjunto de seqüência de dados do arquivo e são concatenadas juntos.

Page 42: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

42

Inclusão em árvore B+ de ordens 3 e 4 (index set e sequence set)

Inicialmente exibe-se a Árvore B+ após a inclusão dos registros de chaves 10, 95 e 125.Após a inclusão da chave 70 ocorre a divisão da página terminal em duas e a subida da chave 95 para o indexador.Após a inclusão dos registros de chaves 35 e 100.Após a inclusão da chave 65 ocorre a cisão de página terminal e a inclusão da chave 65 no indexador.Após a inclusão da chave 140 ocorre uma cisão na página terminal, a inclusão da chave 125 no indexador e a cisão da raiz do mesmo.

Page 43: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

43

Exemplo

1. Árvore B+ após a inclusão dos registros de chaves 10, 95 e 125

2. Após a inclusão do e registro com a chave 70 com a divisão da página terminal em duas e a subida da chave 95 para o indexador

4. Após a inclusão do registro de a chave 65 com cisão de página terminal e a inclusão da chave 65 no indexador

3. Após a inclusão dos registros de chaves 35 e 100

5. Após a inclusão do registro como a chave 140 o que ocasionou uma cisão na página terminal, a inclusão da chave 125 no indexador e a cisão da raiz do mesmo

Page 44: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

44

Exclusão de Registros em Árvores B+

Quando um registro é excluído de árvore B+ e não é preciso redistribuição ou concatenação e nenhuma mudança é feita no indexadorChaves excluídas das páginas terminais ainda continuam no indexadorExclusões que causem redistribuição de registros provocam mudanças no conteúdo mas não na estrutura dos índicesQuando houver concatenação de folhas haverá exclusões na árvore de índices

Page 45: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

45

Exclusão em árvore B+ de ordens

A árvore B+ de ordens 3 e 4 (index set e sequence set) exibida anteriormente deve sofrer a exclusão dos registros de chaves 35, 100 e 45

Page 46: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

46

Após a exclusão da chave 35

Page 47: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

47

Após a exclusão da chave 100

Page 48: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

48

Após a exclusão da chave 45

Page 49: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

49

Trie

Árvore de grau igual ou maior do que 2 na qual o desvio para registro descendente é determinado não pela chave como um todo e sim apenas por uma porção dela.A chave primária dos registros do arquivo é de comprimento variável e o alfabeto domínio desta chave primária possui N caracteresNós possuem N+2 atributos, sendo um para cada caractere do alfabeto previsto para chave primária, um para caracteres fora do alfabeto, tais como brancos, sinais de pontuação, etc. e um para indicação de chave encontrada no arquivo

Page 50: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

50

Trie

O endereço de nó filho do nó em estudo correspondente ao atributo encontrado, ou seja, apontam para sub-árvores ou subtries que contenham todas as chaves nas quais o caractere correspondente ao nível da árvore seja exatamente igual ao caractere que originou a derivação no nó ancestralQuando, no nível 5, ocorre um desvio para o atributo correspondente ao caractere ‘x’ na subtrie apontada todas as chaves conterão como 5o caractere o caractere ‘x’.

Page 51: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

51

Trie

A trajetória da raiz até um dado nó vai reproduzindo a chave de busca pois cada acesso a filho concatena mais um caractere à chave em formaçãoQuando a seqüência de caracteres obtida reproduz a chave de busca e encontra uma chave pertencente ao arquivo (atributo correspondente a chave existente com valor ligado) a busca se encerra com sucesso

Page 52: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

52

Trie

O ponteiro correspondente ao atributo de chave existente no arquivo é diferente dos demais pois aponta nós especiais. Estes nós especiais não possuem mais ramificações. Contém todos os atributos do registro cuja chave primária balizou a trajetória até seu endereço

Page 53: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

53

Trie

As tries possuem nós de ramificação e nós de informação. Quando um nó de ramificação só possui um ponteiro para filho que não esteja aterrado diz-se que ele se converte em um nó de informação

Page 54: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

54

Trie

Estas árvores de índices possuem as seguintes características: Árvores de múltiplos caminhos Árvores não balanceadas Nós de ramificação e de nós de informação Identificação do alfabeto da chave Identificação de símbolo terminal ou "token"

Page 55: Árvores B Conceitos Exemplos. 2 Conceito Árvores B são árvores de busca, de múltiplos caminhos, balanceadas e com eficientes mecanismos de auto- balanceamento.

55

Exemplo de Trie