A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Método de Acesso Dinâmico: B-Tree - Deleção Chaves de busca sem duplicatas AULA 9 Profa. Sandra de Amo GBC053 – BCC 2013-1.

Apresentações semelhantes


Apresentação em tema: "Método de Acesso Dinâmico: B-Tree - Deleção Chaves de busca sem duplicatas AULA 9 Profa. Sandra de Amo GBC053 – BCC 2013-1."— Transcrição da apresentação:

1 Método de Acesso Dinâmico: B-Tree - Deleção Chaves de busca sem duplicatas AULA 9 Profa. Sandra de Amo GBC053 – BCC 2013-1

2 Deleção Se ocupação não fica abaixo do mínimo, deleta, não altera ponteiros, nem nós ancestrais Se ocupação fica abaixo do mínimo Tenta redistribuição com nó vizinho, se possível Caso contrário junta com vizinho à direita ou à esquerda (caso for o último nó).

3 Discussão Redistribuição é vantajosa no caso de deleção: Deixa mais espaço nos nós para futuras inserções (há muito mais inserções do que deleções na prática) Redistribuição entre nós em um nível só é propagada para nós no nível acima.

4 Exemplo: Deleção 2*3* 14 * 16* 19* 20*22* 24* 27*29* 33*34*39*38* Removendo 19* 7*8*5* 5132430 17

5 Deleção: Redistribuição nas folhas Com nó direito Removendo 20* 5132430 17 2*3* 14 * 16* 20*22* 24* 27*29* 33*34*39*38* 7*8*5*

6 Deleção: Redistribuição nas folhas Com nó direito Removendo 20* 5132730 17 2*3* 14 * 16* 24* 27*29* 33*34*39*38* 7*8*5* 24 22*

7 Resumo: Deleção da chave X na folha P P tem d elementos (ocupação mínima) Vizinho à direita VD tem d+1 elementos e pai(VD) = pai(P) Remove X de P Obtém página P com d-1 elementos Transfere primeiro elemento Y de VD para última posição de P Seja Z = segundo elemento de VD Seja Pai = pai(VD) = pai(P) Pt i = ponteiro de Pai apontando para VD K i = chave em Pai antes de Pt i Substitui K i por Z

8 Deleção: Redistribuição nas folhas Com nó esquerdo Removendo 33* 51330 17 2*3* 14 * 16* 22* 24* 27*29* 33* 7*8*5* 24 35*

9 Deleção: Redistribuição nas folhas Com nó esquerdo Removendo 33* 51330 17 2*3* 14 * 16* 22* 24* 27* 7*8*5* 24 35* 29* 29

10 Resumo: Deleção da chave X na folha P P tem d elementos (ocupação mínima) Vizinho à direita VD tem d elementos ou pai(VD) pai(P) ou VD não existe Vizinho à esquerda VE tem d+1 elementos e pai(VE) = pai(P) Remove X de P Obtém página P com d-1 elementos Transfere último elemento Y de VE para primeira posição de P Seja Pai = pai(VE) = pai(P) Pt i = ponteiro de Pai apontando para P K i = chave em Pai antes de Pt i Substitui K i por Y

11 Discussão Distribuição nas folhas vizinhas não acarreta mudança - redução de ocupação dos nós pais Portanto: Nós pais não ficam abaixo da ocupação mínima Não precisam ser juntados nem redistribuídos entre seus vizinhos Não há redução da altura da árvore Modificações não se propagam para nós acima do nó- pai

12 Deleção: Juntando Folhas Com nó à direita 2*3* 14 * 15* 22* 33*34*39*38* Removendo 24* 7*8*5* 51330 17 24 * 27 27*29*22*27*29* Não dá para redistribuir os vizinhos Tamanho do vizinho direito = d Vizinho à esquerda tem pai diferente JUNTA COM O VIZINHO DA DIREITA 16* 40

13 Deleção: Juntando Folhas Com nó à direita 33*34*39*38* Removendo 24* 51330 17 24 * 27 27*22*27*29* 27 Quase vazia ! Não dá para distribuir com vizinho 30 2*3* 14 * 15* 7*8*5* 16* 17 40

14 Junção de nós intermediários 2*3* 14 * 16* 33*34*39*38* 7*8*5* 30 24 * 27 27*22*27*29* 3051330 273051330 Removendo 24* 17 40

15 Deleção: Juntando Folhas Com nó à esquerda 2*3* 14 * 16* 49*50* Removendo 16* 7*5* 51360 45 45*46* 47 63* 65*

16 Deleção: Juntando Folhas Com nó à esquerda 2*3* 14 * 16* 49*50* Removendo 16* 7*5* 51360 45 45*46* 47 63* 65* Só pode ser a última chave deste nó

17 Deleção: Juntando Folhas Com nó à esquerda 2*3* 14 * 49*50* Removendo 16* 7*5* 51360 45 45*46* 47 63* 65*

18 Deleção: Juntando Folhas Com nó à esquerda 2*3* 49*50* Removendo 16* 7*5* 51360 45 45*46* 47 63* 65* 7*14*5*

19 Deleção: Juntando Folhas Com nó à esquerda 2*3* 49*50* Removendo 16* 7*5* 560 45 45*46* 47 63* 65* 14* Devem ser juntadas

20 Deleção: Juntando Folhas Com nó à esquerda 2*3* 49*50* Removendo 16* 7*5* 5 45 45*46* 63* 65* 14* 4760

21 Redistribuição em nós intermediários 13 17 55132730 22 1720 2*3*5*7*8*14*16*17*18*20*21*22*24*29*27* 33*34*38*39* Removendo 24* : Existe possibilidade de juntar nós intermediários

22 Redistribuição em nós intermediários 13 17 551330 22 1720 2*3*5*7*8*14*16*17*18*20*21*22*29*27*33*34*38 * 39* Quase vazia

23 Redistribuição em nós intermediários 13 17 551330 22 1720 2*3*5*7*8*14*16*17*18*20*21*22*29*27*33*34*38 * 39*

24 Redistribuição em nós intermediários 13 17 5513 17 52030 17 22 3*5*7*8*14*16*17*18*20*21*22*29*27*33*34*38 * 39*

25 Exercícios Escrever algoritmo Junta(Folha1,FolhaD) Escrever algoritmo Junta(Folha1,FolhaE) Escrever algoritmo Distribui(No1,NoD) Escrever algoritmo Distribui(No1,NoE)

26 Exercicio: Remove 16* 13 17 55132730 22 1720 2*3*5*7*8*14*16*17*18*20*21*22*24*29*27* 33*34*38*39* 50

27 Exercicio: Remove 18* 13 17 55132730 22 1720 2*3*5*7*8*14*16*17*18*20*21*22*24*29*27* 33*34*38*39* 50

28 Exercicio: Remove 34* 13 17 55132730 22 2*3*5*7*8*14*16*22*24*29*27*33*34* 50

29 Exercicio: Remove 22* 13 17 55132730 22 2*3*5*7*8*14*16*22*24*29*27*33*34* 50

30 Exercicios Construir algoritmos para: Juntar nó com nó-irmão da direita Juntar nó com nó-irmão da esquerda Distribuir nó intermediário com nó-irmão da direita Distribuir nó intermediário com nó-irmão da esquerda


Carregar ppt "Método de Acesso Dinâmico: B-Tree - Deleção Chaves de busca sem duplicatas AULA 9 Profa. Sandra de Amo GBC053 – BCC 2013-1."

Apresentações semelhantes


Anúncios Google