Buscar

estrutura de dados Cap 02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ESTRUTURAS DE DADOS
Prof. H. Senger
ÁRVORES-B
Esta técnica proposta inicalmente por R. Bayer e E. Mc Creight em 1970. É utilizada muito
freqüentemente na implementação de índices de arquivos :
Uma árvore-B de ordem M, possui as seguintes características :
1 ) Todo nó possui M ou menos subárvores;
2 ) Todo nó, exceto a raiz possui [M/2] ou mais subarvores;
3 ) A raiz possui, no mínimo, duas subárvores não vazias, exceto quando é uma folha;
4 ) Todas as folhas estão no mesmo nível, e todas as suas subárvores são vazias;
5 ) Um nó com K subárvores armazena K-1 registros;
6 ) Todos os nós de derivação ( isto é, aqueles que não são folha ) possuem exclusivamente
subárvores não-vazias.
Um nó de árvore-B ( de ordem M=5 ) tem a seguinte estrutura :
INCLUSÃO DE DADOS
Qualquer dado novo deve ser inserido em um nó folha da árvore-B. Ex.
Após a inserção do 40, ficará da seguinte forma :
20 45
10 15 22 25 38 50 54 65
20 45
10 15 22 25 38 40 50 54 65
Quando o nó que recebeu o novo dado ultrapassar a quantidade máxima de dados por nó ( no
caso, 4 ), esse nó deve ser “particionado”, dando origem a dois outros nós. O dado que está no
centro do nó passará para o nó pai. Se o nó pai também ultrapassar a quantidade permitida, repete-
se a operação.
Exemplo: Na árvore acima, inserir o valor 43 deve ser inserido no nó folha do meio, que ficará com
excesso de dados.
O nó deverá então ser quebrado, subindo o 38 para o nó pai. A árvore deverá ficar da seguinte
forma :
EXCLUSÃO
Se um valor que está em um nó de transição ( não folha ) for excluído, ele deverá ser substituído :
a ) pelo dado mais à direita de sua subárvore esquerda; ou
b ) pelo dado mais à esquerda de sua subárvore direita.
No exemplo abaixo, o 45 pode ser eliminado, ...
... e e substituído pelo 44, resultando em :
22 25 38 40 43
20
10 15 22 25
38
40 43
45
50 54 65
20
10 15 22 25
38
40 43 44
80
60 75 92 95 98
108
110 117 122
45
20
10 15 22 25
38
40 43
80
60 75 92 95 98
108
110 117 122
44
Na exclusão de um dado de um nó folha, podem ocorrer três situações :
1 ) Após a remoção, o nó ainda possui uma quantidade adequada de dados
2 ) Após a remoção, o nó ultrapassou o limite mínimo de dados. Neste caso, pode-se tentar alguma
das opções abaixo :
a ) Tente emprestar um nó do irrmão IMEDIDTAMENTE à esquerda; ou
b ) Se não for possível, tente emprestar do irmão da DIREITA; ou
c ) Se ambas falharem, fazer a fusão do nó com um de seus irmãos
Ex: Dada a árvore
Remover 117 (Situação 1 )
Remover 110 ( situação 2.a - empresta do irmão da esquerda):
108
110 117 122
20
10 15 22 25
38
40 43
80
60 75 92 95 98
44
108
110 122
20
10 15 22 25
38
40 43
80
60 75 92 95 98
44
98
108 122
20
10 15 22 25
38
40 43
80
60 75 92 95
44
Remover 22
Como um nó ficou com menos de dois dados, o processo de fusão se repete um nível acima:
10 15 20 25
38
40 43
98
108 122
80
60 75 92 95
44
108 122
988038
10 15 20 25 40 43
44
60 75 92 95

Outros materiais