• Nenhum resultado encontrado

O que é uma árvore B

N/A
N/A
Protected

Academic year: 2019

Share "O que é uma árvore B"

Copied!
16
0
0

Texto

(1)

Estrutura de Dados

Tema 7: Árvore Multidirecional (Árvore B.)

Definida por Rudolf Bayer em 1971 no Boeing Scientific Research Labs.

Sua definição foi motivada pela necessidade de diminuir o tempo de acesso a dados armazenados em memória

secundária.

O tempo de acesso à memó-ria secundámemó-ria ainda hoje é bem maior que o tempo de acesso à memória principal.

O que é uma árvore B

Árvore B é multidirecional balanceada.

Multidirecional  cada nó (ou página) pode armazenar várias k chave (ou elementos) e, assim, apontar parak+1filhos, onde k≥1. Balanceadatodas as

folhas estão no mesmo nível.

(2)

Características de uma árvore B

Raiz:o nó inicial da árvore;

Grau:o número de filhos que um nó possui;

Nível ( ou profundidade) :a distância de um nó até a raiz;

Altura:o maior nível encon-trado na árvore. A altura de uma árvore B com nnós é sempre lg(n);

Folha:o nó que não possui filho.

Características de uma árvore B

Ordem: quantidade máxima de filhos que um nó pode conter.

Se a árvore tem ordem n:

poderá ter até n-1chaves k1, ..., knem cada nó.

as chaves dentro de um nó ficam ordenadas. Assim,

k1 ≤ k2 ≤ ... ≤ kn-1.

cada nó poderá ter no máximo nfilhos.

todo nó que possua tchaves (t ≤ n-1) terá t+1filhos.

Altura da árvore é 2 Todos as folhas estão no mesmo nível.

Qtd. máxima de chaves: 3-1

Qtd. mínima de chaves:

M S

E J P

A D T V

X

G L O Q R Z

Raiz

Folha

(3)

Organização das chaves

Seja k uma chave pertencente a um nó não folha de uma árvore. Podemos afirmar que:

na sub-árvore à esquerda de ksó existirão chaves menores ou iguais a k;

na sub-árvore à direita de ksó existirão chaves maiores que k.

Organização das chaves

30 60

10 21 45

5 8 88 95

75

15 17 26 32 44 53 62

Buscar uma chave x em uma Árvore B de ordem n

k1 k2 k3 ... Kn-2 Kn-1

(4)

Buscar uma chave x em uma Árvore B de ordem n

A busca se inicia pela raiz; Procura-se x no nó atual:

Se x < k1, a busca é repetida em p1;

Se k1< x <k2, a busca se repete em p2; se k2< x < k3, a busca se

repete em p3; ...;

se kn-2 < x < kn-1, a busca se repete em pn-1;

Se x > kn-1, a busca se

repete em pn.

Exemplificando a busca

30 60

10 21 45

5 8 88 95

75

15 17 26 32 44 53 62

#define ordem 10

struct no_arvoreB { int num_chaves; char chaves[ordem-1]; arvoreB *filhos[ordem]; int ehFolha;

};

(5)

Continuando

Tema 7: Árvores B.

I nserção em uma Árvore B

As inserções devem acontecer na folha. Buscar a folha correta para a inserção.

Verificar se o limite máximo de chaves será ultrapassado com a nova inserção:

Se não ultrapassar, inserir a nova chave no local apropriado, mantendo a ordenação dos elementos dentro do nó;

Caso contrário realizar uma cisão (quebra do nó)

Cisão de um nó

Ocorre quando se deseja armazenar uma quantidade de chaves maior que o máximo permitido e, assim, o nó se quebra ao meio. 1) A folha se quebra em duas partes; 2) A chave que estiver no

(6)

Sendo uma árvore B de ordem 3, inserir os elementos: 84, 17, 63

59

10 21 81 95

I nserção em uma Árvore B

Sendo uma árvore B de ordem 4, inserir os elementos: 62, 27, 82

45 61

7 23 36 58 74 89 95

I nserção em uma Árvore B

Remoção em uma Árvore B

As remoções em uma árvore B devem sempre acontecer em uma folha, pois a retirada de um chave implica a diminuição de um filho.

26 53

(7)

Situações envolvendo remoção

1) A chave a ser removida encontra-se em uma folha

A chave é removida sem problemas, já que não há nós descendentes.

Ex: Remover o 84

26 53

7 13 19 34 47 65 84 91

Situações envolvendo remoção

2) A chave a ser removida encontra-se em um nó não folha

A chave é substituída pela chave sucessora (que estará em uma folha). A chave sucessora (que ficou duplicada) será removida.

Ex: Remover o 53.

26 53

7 13 19 34 47 65 84 91

Lembrando: para uma árvore B de ordem n

Máximo de chaves: n-1

Mínimo de chaves:

Após a remoção, o nó poderá tornar-se pequeno demais, ou seja, poderá ficar com quantidade de filhos inferior ao mínimo permitido.

Problemas após a remoção

    

(8)

1) Empréstimo entre nós irmãos

Ocorre quando o nó pequeno demais possui um irmão com mais de chaves.

Resolvendo problemas após a remoção

45 61

7 23 36 58 74 89 95      2 1 n Ordem 5

Ordem 5Máximo: 5 -1=4 e Mínimo:

Resolvendo problemas após a remoção

2 2 1 5      

45 74

7 23 36 58 61 89 95 45 61

7 23 36 58 74 89 95

2) Fusão de nós

Quando um nó tornar-se pequeno demais e nenhum irmão puder realizar o empréstimo, deverá ser feita uma fusão de nós.

Exemplo: árvore b de ordem 4.

30 80

10 21 45 60

5 8 95 98

91

15 17 23 29 32 46 53 62 73 78 82 88

(9)

Fusão de nós

30 80

10 21 60

5 8 95 98

91

15 17 23 29 32 45 46 53 62 73 78 82 88 30 80

10 21 45 60

5 8 95 98

91

15 17 23 29 32 46 53 62 73 78 82 88

Fusão de nós

30

10 21 60 80 91

5 8 15 17 23 29 32 45 46 53 62 73 78 82 88 95 98 30 80

10 21 60

5 8 95 98

91

15 17 23 29 32 45 46 53 62 73 78 82 88

Agora é sua Vez

(10)

Mostre todos os passos executados para inserir os elementos a seguir em uma árvore B de ordem 4.

10; 42; 25; 39; 16; 81; 40; 17; 1; 87; 95

Ordem 4:

máximo: 4-1 = 3

mínimo:

1

2

1

4





 

10 10 42 10 39 42

25

10 16 39 25 40

42 81 10 16 39 42 81

25 40

10 16 17 39 25 40

42 81 1

10 25 42 39

95

1 39

10 25 40

42 81 87 16 17

1 39

10

42 16 17 87 95

25

40 81

1 39

10 25 40

42 16 17 87 95

(11)

Mostre todos os passos executados para remover os elementos a seguir em uma árvore B de ordem 5.

73; 60; 10

Ordem 5:

máximo: 5-1 = 4

mínimo:

2

2

1

5





 

30

10 21 60 82

5 8 15 17 23 29 32 45 46 53 62 73 78 95 98

30

10 21 60 82

5 8 15 17 23 29 32 45 46 53 62 78 95 98 Remover o 73

30

10 21 60 82

5 8 15 17 23 29 32 45 46 53 62 78 95 98 Remover o 60

30

10 21 62 82

(12)

30

10 21 53 82

5 8 15 17 23 29 32 45 46 62 78 95 98 Remover o 60

Remover o 10

30

10 21 53 82

5 8 15 17 23 29 32 45 46 62 78 95 98

Remover o 10

Remover o 10

30

15 21 53 82

5 8 17 23 29 32 45 46 62 78 95 98

30

15 21 53 82

5 8 17 23 29 32 45 46 62 78 95 98

Remover o 10

Remover o 10

30

21 53 82

5 8 15 17 23 29 32 45 46 62 78 95 98

30

21 53 82

(13)

Remover o 10

21 30 53 82

5 8 15 17 23 29 32 45 46 62 78 95 98

Finalizando

Tema 7: Árvores B.

Buscas em Árvore B

Uma árvore B possui ordenação semelhante à existente em uma árvore binária de busca. Sejakuma chave qualquer.

Todos os elementos menores que Kestão a sua esquerda.

(14)

Buscas em Árvore B

As sub-árvores de uma árvore B possuem as mesmas características de uma árvore B inteira. Assim, a busca pode ser feita recursivamente.

30 60

10 21 45

5 8 88 95

75

15 17 26 32 44 53 62

Buscas em Árvore B

M S

E J P

A D T V

X

G L O Q R Z

I mportância da Árvore B

Árvore B é um tipo de estrutura hierárquica desenvolvida para auxiliar a aplicações que precisam manipular dados que, em função do grande volume, ficam gravados em disco.

As árvores carregam para a memória parte destes dados, para facilitar a

(15)

Conceitos básicos de uma árvore B

Todas as folhas têm a mesma altura;

A quantidade máxima de filhos que os nós podem ter determina a ordem da árvore;

Para uma árvore de ordem n cada nó poderá ter, no máximo,n-1

chaves e, no mínimo, chaves.

Se um nó possuirtchaves, possuirát+1filhos.





 

2

1

n

Operações básicas em uma árvore B

Inserção

Busca

Remoção

Cuidados na inserção

Deve-se ter cuidado com a possibilidade do nó onde ocorreu a inserção ultrapassar o limite máximo de chaves (ficar grande demais). Nestas situações ocorrerá a cisão (split) do nó.

(16)

Cuidados na remoção

Deve-se ter cuidado com a possibilidade do nó onde ocorreu a remoção ultrapassar o limite mínimo (ficar pequeno demais).

Nestas situações poderá ocorrer:

▫Empréstimo entre irmãos

▫Fusão de nós

Referências

Documentos relacionados

O comportamento da estabilidade de cor das resinas compostas foi influenciado pela substância de imersão, e as soluções que tiveram maiores alterações foram o vinho tinto

Uma resposta efetiva a estes desafios pressupõe, da parte das Bibliotecas do Ensino Superior (BES) e dos seus profissionais a implementação de novos serviços de apoio às

Neste sentido, a Administração Central, por via dos regimes jurídicos dos Subsistemas de Ensino Geral e Técnico-profissional, tenta libertar as escolas outorgando

Objetivando-se conhecer a realidade do cooperativismo entre os produtores da Cooperativa dos Produtores de Mel de Pedro Osório (COOMELPO), foram coletados dados

Grundfos GO rakenduse Apple iOS seadmele saab tasuta alla laadida või seda saab tasuta uuendada Apple'i App Store'i kaudu. Minge Apple'i

O Presidente da Comissão Técnica Nacional de Biossegu- rança - CTNBio, no uso de suas atribuições e de acordo com o artigo 14, inciso XIX, da Lei 11.105/05; do Artigo 5º, inciso XIX

Esta situação pode criar um isolamento reprodutor por alopatria (populações isoladas fisicamente) ou por simpatria (populações em contacto físico). No caso da

c) apresentação dos documentos comprovando a escolaridade e demais requisitos exigidos para o cargo;.. 11.1.1 - O candidato deverá fazer prova dos documentos e das condições