15
Árvore B+ Gustavo Edilson Ryllari Nathan

Árvore b+ pesquisa e ordenação

Embed Size (px)

Citation preview

Page 1: Árvore b+ pesquisa e ordenação

Árvore B+GustavoEdilsonRyllariNathan

Page 2: Árvore b+ pesquisa e ordenação

Introdução

É uma estrutura de dados do tipo árvore derivada das árvores B, mas com uma forma diferente de armazenamento de suas chaves. Tal organização confere propriedades, algoritmos de inserção, busca e remoção de chaves diferentes dos utilizados em árvores B, mas com uma gama de aplicações muito semelhantes em banco de dados e sistemas de arquivos.

Page 3: Árvore b+ pesquisa e ordenação

Por quê

Assim como as árvores B, as árvores B+ visam reduzir as operações de leitura e escrita em memória secundária, uma vez que, essas operações são demoradas para um sistema computacional e devem ser minimizadas sempre que possível.

Page 4: Árvore b+ pesquisa e ordenação

Utilização

Estruturas de dados como essa são muito empregadas em banco de dados e sistemas de arquivos como o NTFS para o Microsoft Windows, o sistema de ficheiros ReiserFS para Unix, o XFS para IRIX e Linux, e o JFS2 para AIX, OS/2 e Linux, usam este tipo de árvore.

Page 5: Árvore b+ pesquisa e ordenação

História

A árvore B+ aparentemente foi proposta por Knuth e grande parte da literatura sobre essa estrutura é encontrada em forma de artigos ao invés de livros. Com ela foi possível organizar um arquivo de maneira que o processamento sequencial (característica até então pouco eficiente para árvores B) e aleatório de chaves fossem eficientes.

Page 6: Árvore b+ pesquisa e ordenação

Definição

A organização das páginas internas ou no inglês index set é semelhante a de uma árvore B, este, por sua vez, armazena cópias de chaves para referênciar as buscas, mas não contém as chaves em si. Já no sequence set estão as páginas folha que contém as chaves inseridas na árvore e funciona como uma lista encadeada permitindo o acesso sequencial ordenado às chaves independente do index set.

Page 7: Árvore b+ pesquisa e ordenação

Definição

O index set, como dito anteriormente, apenas carrega cópias de chaves para referênciar a busca e sua construção é semelhante ao de uma árvore B. Suponhamos que estes nós internos possam apontar para n nós filhos, ou seja, uma árvore B com no máximo n-1 chaves por página.

Com tais suposições, diferentemente das árvores B, os números d e n-1 não são necessariamente iguais, mas, manter o tamanho físico em arquivo dessas páginas iguais facilita a implementação da estrutura e geralmente o melhor a se fazer é manter o tamanho físico em arquivo de ambas as páginas iguais.

Page 8: Árvore b+ pesquisa e ordenação

Página Interna

As páginas internas apresentam apenas referências para a localização das chaves de busca contidas nas páginas folha. Estas páginas incluem a página raiz da árvore e todos os nodos internos (exceto as páginas folha). Ou seja, as páginas internas funcionam como um índice que apenas apontam para a localização exata de uma chave e sua construção é semelhante ao de uma árvore B com número mínimo de chaves igual a ⌈n/2⌉-1 e máximo de n-1 por página.

Page 9: Árvore b+ pesquisa e ordenação

Páginas folha

Nas páginas folha estão abrigadas todas as chaves inseridas e durante o processo de inserção e remoção de chaves estas podem sofrer overflows ou underflows conforme estas violem o número máximo igual a d ou mínimo igual a ⌊d/2⌋ permitido de chaves.

Page 10: Árvore b+ pesquisa e ordenação

Operações básicas

Busca

Inserção

Remoção

Page 11: Árvore b+ pesquisa e ordenação

BuscaNo índice só aparecem as chaves, sem nenhuma informação associada.

Nas páginas, folhas estão todos os registo do arquivo

As páginas folha são conectadas da esquerda para a direita, o que permite um acesso sequencial mais eficiente do que o acesso via índice.

A busca começa na raiz da árvore e continua até uma página folha

Como todos os registros residem nas folhas, a pesquisa não pára se a chave procurada for encontrada em uma página do índice – Neste caso, o apontador à direita é seguido até que uma página folha seja encontrada

Page 12: Árvore b+ pesquisa e ordenação

Busca e Inserção

Page 13: Árvore b+ pesquisa e ordenação

Remoção

Mais simples do que a remoção de uma árvore B O registro a ser removido reside sempre em uma página folha, o que torna sua remoção simples – Não há necessidade de utilização do procedimento para localizar a chave antecessora ,desde que a página folha fique pelo menos com metade dos registros, as páginas do índice não precisam ser modificadas, mesmo se uma cópia da chave que pertence ao registro a ser retirado esteja no índice

Page 14: Árvore b+ pesquisa e ordenação

Remoção

Page 15: Árvore b+ pesquisa e ordenação

Referências

Folk, Michael; Zoellick, Bill. File Structures (em inglês). 2 ed. [S.l.]: Addison-Wesley, 1992. p. 443.

Folk, Michael; Zoellick, Bill. File Structures (em inglês). 2 ed. [S.l.]: Addison-Wesley, 1992. p. 421.

Folk, Michael; Zoellick, Bill. File Structures (em inglês). 2 ed. [S.l.]: Addison-Wesley, 1992. 590 p. ISBN 0-201-55713-4