universidade católica de pelotas mestrado em ciência da computação Árvores vanessa souza da...

13
Universidade Católica de Pelotas Universidade Católica de Pelotas Mestrado em Ciência da Computação Mestrado em Ciência da Computação ÁRVORES ÁRVORES Vanessa Souza da Fonseca

Upload: internet

Post on 21-Apr-2015

106 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Universidade Católica de PelotasUniversidade Católica de PelotasMestrado em Ciência da ComputaçãoMestrado em Ciência da Computação

ÁRVORESÁRVORES

Vanessa Souza da Fonseca

Page 2: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Árvores BÁrvores B

As árvores B são árvores balanceadas projetadas para trabalhar com dispositivos de armazenamento secundário como discos magnéticos. Elas visam otimizar as operações de entrada e saída nos dispositivos.

O tempo de acesso às informações em um disco é prejudicado principalmente pelo tempo de posicionamento do braço de leitura. Uma vez que o braço esteja posicionado no local correto, a leitura pode ser feita de forma bastante rápida. Desta forma, devemos minimizar o número de acessos ao disco.

Diferente das árvores binárias, cada nó em uma árvore B pode

ter muitos filhos, isto é, o grau de um nó pode ser muito grande.

Page 3: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Árvores BÁrvores B

cada nodo tem no máximo M-1 chaves e a raiz tem no mínimo 1 chave

nada nodo não-raiz tem no mínimo (M-1)/2 chaves ( ordem 11 tem no mínimo 5 chaves /nodo; ordem 4: mínimo 1)

todas as folhas devem estar no mesmo nível

Devido ao pouco desperdício, as árvores B (ou variações dela) são utilizadas com muita freqüência em sistemas de arquivos reais. Uma árvore B de ordem M é uma árvore de busca multidirecional balanceada que:

* Considera-se que uma árvore de ordem 4 possa ter 4 chaves e 5 filhos em cada nodo, ou ainda, que a ordem como n/2, ou seja, uma árvore de ordem 2 possa ter 4 chaves por nodo e 5 filhos.

Page 4: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Inserção em uma árvore BInserção em uma árvore BDeve-se observar a divisão que ocorre em um nodo quando o número de chaves ultrapassa o número de nodos permitidos. Se a ordem da árvore for par, as n-1 chaves, excluindo a chave do meio devem ser divididas em 2 grupos de tamanhos diferentes: um grupo com tamanho n/2 e outro grupo com tamanho (n-1)/2.

O segundo grupo é sempre de tamanho (n-1)/2 independentemente do fato de n ser ímpar ou par, pois quando n é impar, (n-1)/2 será igual a n/2.

Page 5: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Inserção em uma árvore BInserção em uma árvore B

Page 6: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Árvores B+Árvores B+

IntroduçãoA utilidade de uma árvore B+O método de pesquisa binária permite que um registro pesquisado entre 50.000 seja encontrado em não mais que 16 comparações. Mas acessar o disco 16 vezes para busca essa informação requer tempo demais. Foi preciso desenvolver estruturas que permitam recuperar esse mesmo registro em dois ou três acessos.

Essas estruturas devem permitir agrupar informações de modo que seja provável que toda a informação necessária possa ser obtida numa mesma operação de acesso.

Por exemplo, se para um dado cliente precisamos do nome, endereço, telefone, saldo, número da conta, etc. é preferível obter toda essa informação de uma só vez em vez de ficar procurando em vários lugares. aquelas qualidades, pois os arquivos mudam, crescem eencolhem conforme algumas informações são adicionadas e outras removidas.

Page 7: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Árvores B+Árvores B+

Nas árvores de índices, os nós só possuem, além da chave, um ponteiro para o registro de dados em outro arquivo. Isto pode ser levado ao extremo, se nós concentramos os ponteiros para o arquivo de registros nas folhas.

Nós internos servem só como referência para o percurso. Chaves de nós internos são repetidas nas folhas.

Árvore é dividida em Index Set e Sequence Set.Nós do Sequence Set (folhas) são encadeados.

Especificações da Árvore B+

Page 8: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Vantagens Árvore B+:Vantagens Árvore B+:Mecanismo para percorrer seqüencialmente o arquivo de registros de dados sem que seja necessário visitar toda a árvore

Mecanismo para percorrer seqüencialmente o arquivo de registros de dados sem que seja necessário ordenar o arquivo de registro de dados.

Page 9: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Árvores B+Árvores B+

Page 10: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Comparações

Page 11: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Comparações

Page 12: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Comparações

Page 13: Universidade Católica de Pelotas Mestrado em Ciência da Computação ÁRVORES Vanessa Souza da Fonseca

Comparações