arvores multiplas

Upload: juliano-carneiro

Post on 12-Jul-2015

118 views

Category:

Documents


0 download

TRANSCRIPT

rvores Mltiplas

de busca mltipla de ordem m p rvore binria de busca eficiente quando reside inteiramente na memria Uma rvore de busca mltipla de ordem m melhor quando usada no contexto de armazenagem secundria

Se cada n em uma rvore possui mais de dois filhos, ela chamada de rvore mltipla de ordem m ou rvore m-ria Quando uma ordem imposta pelas chaves que residem em cada n, a rvore chamada de rvore

rvores B

Uma propriedade importante das rvores B o tamanho de cada n que pode ser to grande quanto o tamanho de um n, bloco Uma rvore de ordem m possui as seguinte propriedade: A raiz tem pelo menos duas subrvores, a menos que ela seja uma folha; Cada n no raiz e no folha contm k 1 chaves e k k-1 ponteiros para as subrvores, onde Cada n de folha contm k-1 chaves, onde Todas as folhas esto no mesmo nvel.

InseroO processo de insero comea nas folha e sobe, para criar a raiz raiz.... Existem trs situaes quando se insere uma chave em uma rvore B: 1) Uma chave colocada em uma folha que ainda tenha algum

espao. Ex.: Em uma rvore B de ordem 5, uma nova chave, 7 colocada na rvore, de modo que a chave 8 deve ser deslocada l d d d h d d l d para a direita

Insero2) A folha na qual uma chave precisa ser colocada est cheia.Ex.: Ex : insero da chave 6

Neste N t caso, a f lh di idid criando uma nova folha, e folha dividida, i d f lh metade das chaves movida da folha cheia para a nova.

Insero

Mas esta tem que ser incorporada na rvore B. A ltima chave da folha velha movida para o ascendente e um ponteiro para a nova folha colocado no ascendente

O mesmo procedimento pode ser repetido para cada n p p p p interno da rvore B, de modo que cada diviso adicione mais um n rvore B. Alm disso, tal diviso garante que cada folha nunca tenha menos do que [m/2]-1 chaves [m/2] 1

Insero3) Um caso especial surge se a raiz da rvore B est cheia.Nesse caso uma nova raiz e um novo irmo da raiz caso, existente tm que ser criados. Ex.: insira a chave 13

Insero

A terceira folha dividida (como no caso 2), uma nova folha criada e a chave 15 deve ser movida para o ascendente ascendente, mas este no tem espao para ela

Insero

Assim, o ascendente dividido, mas agora duas rvores B tm que ser combinadas em uma. uma

Insero

Isto obtido criando-se uma nova raiz e movendo-se a ltima chave da velha raiz at ela

Este o nico caso no qual a rvore B aumenta em altura

Exemplo

Considere uma rvore B de ordem 5. Mostre o crescimento da rvore de acordo com a insero dos seguintes valores:

Exemplo

Exemplo

Exemplo

Exerccios