método de acesso dinâmico: b-tree - deleção chaves de busca sem duplicatas aula 9 profa. sandra...
TRANSCRIPT
![Page 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/1.jpg)
Método de Acesso Dinâmico: B-Tree - DeleçãoChaves de busca sem duplicatas
AULA 9Profa. Sandra de Amo
GBC053 – BCC2013-1
![Page 2: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/2.jpg)
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ó).
![Page 3: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/3.jpg)
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.
![Page 4: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/4.jpg)
Exemplo: Deleção
2* 3* 14*16* 19* 20*22* 24* 27* 29* 33*34* 39*38*
Removendo 19*
7* 8*5*
5 13 24 30
17
![Page 5: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/5.jpg)
Deleção: Redistribuição nas folhas Com nó direito
Removendo 20*
5 13 24 30
17
2* 3* 14*16* 20* 22* 24* 27* 29* 33*34* 39*38*7* 8*5*
![Page 6: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/6.jpg)
Deleção: Redistribuição nas folhas Com nó direito
Removendo 20*
5 13 27 30
17
2* 3* 14*16* 24* 27* 29* 33*34* 39*38*7* 8*5*
24
22*
![Page 7: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/7.jpg)
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)
Pti = ponteiro de Pai apontando para VD
Ki = chave em Pai antes de Pti
Substitui Ki por Z
![Page 8: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/8.jpg)
Deleção: Redistribuição nas folhas Com nó esquerdo
Removendo 33*
5 13 30
17
2* 3* 14*16* 22* 24* 27* 29* 33*7* 8*5*
24
35*
![Page 9: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/9.jpg)
Deleção: Redistribuição nas folhas Com nó esquerdo
Removendo 33*
5 13 30
17
2* 3* 14*16* 22* 24* 27*7* 8*5*
24
35*29*
29
![Page 10: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/10.jpg)
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)
Pti = ponteiro de Pai apontando para P
Ki = chave em Pai antes de Pti
Substitui Ki por Y
![Page 11: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/11.jpg)
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
![Page 12: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/12.jpg)
Deleção: Juntando FolhasCom nó à direita
2* 3* 14* 15* 22* 33*34* 39*38*
Removendo 24*
7* 8*5*
5 13 30
17
24*
27
27*29*22* 27* 29*
Não dá para redistribuir os vizinhosTamanho do vizinho direito = dVizinho à esquerda tem pai diferente
JUNTA COM O VIZINHO DA DIREITA
16*
40
![Page 13: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/13.jpg)
Deleção: Juntando FolhasCom nó à direita
33*34* 39*38*
Removendo 24*
5 13 30
17
24*
27
27*22* 27* 29*
27
Quase vazia ! Não dá para distribuircom vizinho
30
2* 3* 14* 15*7* 8*5* 16*
17 40
![Page 14: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/14.jpg)
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*
305 13 30 3027305 13 30
Removendo 24* 1717 40
![Page 15: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/15.jpg)
Deleção: Juntando FolhasCom nó à esquerda
2* 3* 14* 16* 49*50*
Removendo 16*
7*5*
5 13 60
45
45*46*
47
63* 65*
![Page 16: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/16.jpg)
Deleção: Juntando FolhasCom nó à esquerda
2* 3* 14* 16* 49*50*
Removendo 16*
7*5*
5 13 60
45
45*46*
47
63* 65*
Só pode ser a última chave deste nó
![Page 17: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/17.jpg)
Deleção: Juntando FolhasCom nó à esquerda
2* 3* 14* 49*50*
Removendo 16*
7*5*
5 13 60
45
45*46*
47
63* 65*
![Page 18: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/18.jpg)
Deleção: Juntando FolhasCom nó à esquerda
2* 3* 49*50*
Removendo 16*
7*5*
5 13 60
45
45*46*
47
63* 65*7* 14*5*
![Page 19: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/19.jpg)
Deleção: Juntando FolhasCom nó à esquerda
2* 3* 49*50*
Removendo 16*
7*5*
5 60
45
45*46*
47
63* 65*14*
Devem ser juntadas
![Page 20: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/20.jpg)
Deleção: Juntando FolhasCom nó à esquerda
2* 3* 49*50*
Removendo 16*
7*5*
5
45
45*46* 63* 65*14*
47 60
![Page 21: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/21.jpg)
Redistribuição em nós intermediários
13 1755 13 27 30
22
17 20
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
![Page 22: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/22.jpg)
Redistribuição em nós intermediários
13 1755 13 30
22
17 20
2* 3* 5* 7* 8* 14*16* 17* 18* 20* 21* 22* 29*27* 33* 34* 38* 39*
Quase vazia
![Page 23: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/23.jpg)
Redistribuição em nós intermediários
13 1755 13 30
22
17 20
2* 3* 5* 7* 8* 14*16* 17* 18* 20* 21* 22* 29*27* 33* 34* 38* 39*
![Page 24: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/24.jpg)
Redistribuição em nós intermediários
13 1755 13 13 17520 3017
22
3* 5* 7* 8* 14*16* 17* 18* 20* 21* 22* 29*27* 33* 34* 38* 39*
![Page 25: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/25.jpg)
Exercícios
Escrever algoritmo Junta(Folha1,FolhaD)
Escrever algoritmo Junta(Folha1,FolhaE)
Escrever algoritmo Distribui(No1,NoD)
Escrever algoritmo Distribui(No1,NoE)
![Page 26: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/26.jpg)
Exercicio: Remove 16*
13 1755 13 27 30
22
17 20
2* 3* 5* 7* 8* 14*16* 17* 18* 20* 21* 22* 24* 29*27* 33* 34* 38* 39*
50
![Page 27: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/27.jpg)
Exercicio: Remove 18*
13 1755 13 27 30
22
17 20
2* 3* 5* 7* 8* 14*16* 17* 18* 20* 21* 22* 24* 29*27* 33* 34* 38* 39*
50
![Page 28: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/28.jpg)
Exercicio: Remove 34*
13 1755 13 27 30
22
2* 3* 5* 7* 8* 14*16* 22* 24* 29*27* 33* 34*
50
![Page 29: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/29.jpg)
Exercicio: Remove 22*
13 1755 13 27 30
22
2* 3* 5* 7* 8* 14*16* 22* 24* 29*27* 33* 34*
50
![Page 30: 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](https://reader036.vdocuments.net/reader036/viewer/2022062623/552fc105497959413d8c049c/html5/thumbnails/30.jpg)
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