Você está na página 1de 2
Laborat´orio Nacional de Computa¸c˜ao Cient´ıfica Disciplina: Professor: Carla Osthoff Aluno: Bruno de Oliveira

Laborat´orio Nacional de Computa¸c˜ao Cient´ıfica

Disciplina:

Professor: Carla Osthoff Aluno: Bruno de Oliveira Chagas Data: 6 de setembro de 2013

GA-026 - Ciˆencia da Computa¸c˜ao: Algoritmos I

´

Arvore B

1. Introdu¸c˜ao e Hist´orico

´

Arvore B seria de uma estrutura de dados projetada

para funcionar especialmente em mem´oria secund´aria como um disco magn´etico ou outros dispositivos de armazenamento secund´ario. Dentre suas propriedades ela permite a inser¸c˜ao, remo¸c˜ao e busca de chaves numa complexidade de tempo logar´ıtmica e, por esse motivo, ´e muito empregada em aplica¸c˜oes que neces- sitam manipular grandes quantidades de informa¸c˜ao tais como um banco de dados ou um sistema de arquivos.

A defini¸c˜ao em ciˆencia da computa¸c˜ao para uma

O hist´orico come¸ca de quando foi inventada por Rudolf Bayer e Edward Meyers McCreight em 1971

enquanto trabalhavam no Boeing Scientific Research Labs, a origem do nome ´arvore B n˜ao foi definida por estes. Especula-se que o B venha da palavra balanceamento, do nome de um de seus inventores Bayer ou de Boeing, nome da empresa.

Se analisarmos as ´arvores B, elas s˜ao uma generaliza¸c˜ao das ´arvores bin´aria de busca, pois cada n´o de uma ´arvore bin´aria armazena uma unica´ chave de busca, enquanto as ´arvores B armazenam um n´umero maior do que um de chaves de busca em cada n´o, ou no termo mais usual para essa ´arvore, em cada p´agina. Como a id´eia principal das ´arvores B ´e trabalhar com dispositivos de mem´oria secund´aria, quanto menos acessos a disco a estrutura de dados proporcionar, melhor ser´a o desempenho do sistema na opera¸c˜ao de busca sobre os dados manipulados.

2. Defini¸c˜oes

Para definir uma ´arvore B devemos esclarecer o conceito de ordem. A defini¸c˜ao de ordem de uma ´arvore B ´e o n´umero m´aximo de p´aginas filhas que toda p´agina pode conter. Dessa forma, o n´umero m´aximo de chaves por p´agina ficou estabelecido como a ordem menos um. Um outro conceito ´e o de p´agina folha que s˜ao as p´aginas mais distantes da raiz, ou aquelas que cont´em chaves no n´ıvel mais baixo da ´arvore.

3. Opera¸c˜oes B´asicas

Busca: A busca de uma chave k em uma ´arvore B ´e muito parecido com uma busca em ´arvore bin´aria, por´em, agora a cada n´o carregado em mem´oria prim´aria temos v´arias vias para o n´o seguinte da busca e n˜ao apenas duas. Caso a chave k n˜ao esteja na p´agina carregada em mem´oria prim´aria basta carregar a pr´oxima p´agina apontada pelo intervalo que a chave k corresponde na p´agina atual.

Inser¸c˜ao: A opera¸c˜ao de inser¸c˜ao, inicialmente com a ´arvore vazia, deve garantir que o n´o raiz ser´a criado. Criado o n´o raiz, a inser¸c˜ao das pr´oximas chaves seguem o mesmo procedimento: busca-se a posi¸c˜ao correta da chave em um n´o folha e insere a chave garantindo a ordena¸c˜ao destas. (Figura 1)

Remo¸c˜ao: O algoritmo de remo¸c˜ao de uma ´arvore B deve garantir que as propriedades da ´arvore sejam mantidas, pois uma chave pode ser eliminada de qualquer p´agina e n˜ao apenas de p´aginas folha. (Figura 2)

1

Figura 1 : Exemplo de inser¸c˜ao em ´arvore B da sequˆencia de 1 a 7.

Figura 1: Exemplo de inser¸c˜ao em ´arvore B da sequˆencia de 1 a 7. Os n´os dessa ´arvore possuem no m´aximo 3 filhos

1 a 7. Os n´os dessa ´arvore possuem no m´aximo 3 filhos Figura 2 : Remo¸c˜ao

Figura 2: Remo¸c˜ao da chave 8 e posterior reorganiza¸c˜ao da estrutura

2