EDII14 [2012.1] Árvores B e B+

3,101 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,101
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
104
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

EDII14 [2012.1] Árvores B e B+

  1. 1. Prof. Kenia Kodel
  2. 2. Extrato Organização de Arquivos Arquivos Sequenciais Desordenados Arquivos Sequenciais Ordenados Fisicamente Arquivos Sequenciais Ordenados por Link Arquivos Diretos Mantidos por Dicionário de Dados Arquivos Diretos Mantidos por Hashing Arquivos Sequenciais Indexados Recuperação de Chave Secundária – Multilista Recuperação de Chave Secundária – Arquivos Invertidos Recuperação de Chave Secundária – Árvores de Assinaturas Estruturas de Busca em Texto Árvores B e B+ UFS - DComp - Prof. Kenia Kodel 2
  3. 3. O que é árvore?UFS - DComp - Prof. Kenia Kodel 3
  4. 4. Conhece os termos ao lado? Árvore: Terminologia árvore nó grau folha nível ramo raiz altura UFS - DComp - Prof. Kenia Kodel 4
  5. 5. Árvore...  árvore binária  árvore binária de pesquisa  aplicações de árvoresO que vocêsabe sobre...  vantagens  árvores balanceadas UFS - DComp - Prof. Kenia Kodel 5
  6. 6. Árvore BAs árvores B são árvores cujos critérios de organização (crescimento / armazenamento de dados) as conservam balanceadas.Apresentam crescimento bottom up – das folhas para a raiz. UFS - DComp - Prof. Kenia Kodel 6
  7. 7. Árvore BCada nó de uma árvore B tem mais de uma entrada e múltiplas descendências.Em cada entrada é mantido registro de dados; apesar de nestes slides serem apresentadas apenas as chaves de busca. astro caju UFS - DComp - Prof. Kenia Kodel 7
  8. 8. Árvore BO tamanho dos nós das árvores B é determinado pela capacidade de armazenamento da memória principal. astro caju UFS - DComp - Prof. Kenia Kodel 8
  9. 9. Árvore BPara alguns estudiosos, as árvores B nasceram da paginação (blocos de nós) das árvores binárias de busca. UFS - DComp - Prof. Kenia Kodel 9
  10. 10. Árvore BNuma árvore B de ordem x: 1. Todos os nós, exceto a raiz, devem armazenar de x a 2x dados. 2. A raiz deve armazenar de 1 a 2x dados. 3. Todo nó ou é folha ou tem k+1 descendentes, onde k é o número de dados mantidos no nó. 4. Todas as folhas devem apresentar-se num mesmo nível. UFS - DComp - Prof. Kenia Kodel 10
  11. 11. Árvore BNuma árvore B de ordem x:1. Todos os nós, exceto a Segue uma árvore B de ordem 1, raiz, devem armazenar entretanto, vale esclarecer de x a 2x dados. que as árvores B, na prática,2. A raiz deve armazenar de 1 a 2x dados. são usadas para armazenar3. Todo nó ou é folha ou grande quantidade de tem k+1 descendentes, dados; apresentando, em onde k é o número de geral, ordens elevadas. dados mantidos no nó.4. Todas as folhas devem apresentar-se num cajá mesmo nível. astro caju UFS - DComp - Prof. Kenia Kodel 11
  12. 12. Árvore BNuma árvore B de ordem x:1. Todos os nós, exceto a Importante observar que, raiz, devem armazenar de x a 2x dados. sendo uma árvores B de2. A raiz deve armazenar ordem x, seus nós devem de 1 a 2x dados. ser compostos por 2x3. Todo nó ou é folha ou entradas para dados e tem k+1 descendentes, onde k é o número de 2x+1 apontadores. dados mantidos no nó.4. Todas as folhas devem apresentar-se num cajá mesmo nível. astro caju UFS - DComp - Prof. Kenia Kodel 12
  13. 13. Como efetuar consulta em árvore B?UFS - DComp - Prof. Kenia Kodel 13
  14. 14. Consulta Efetuar consultas gato nesta árvore B? cajá lojaastro boca caju gota zebra UFS - DComp - Prof. Kenia Kodel 14
  15. 15. Consulta cajá gato astro boca caju gota zebra Efetuar consultas nesta árvore B? UFS - DComp - Prof. Kenia Kodel 15
  16. 16. Como efetuar inclusão em árvore B?UFS - DComp - Prof. Kenia Kodel 16
  17. 17. Inclusão cajá gato astro boca caju gota zebra Como efetuar a inclusão do dado loja na árvore dada? UFS - DComp - Prof. Kenia Kodel 17
  18. 18. Inclusão cajá astro caju Como efetuar a inclusão dos dados boca e loja na árvore dada? UFS - DComp - Prof. Kenia Kodel 18
  19. 19. Inclusão cajuÉ possível estudar o processo de inserção de dados em árvores B através da construção, por exemplo, de uma árvore de ordem 1 composta por: caju1, cajá2, astro3, boca4, loja5, gato6, gota7, zebra8. UFS - DComp - Prof. Kenia Kodel 19
  20. 20. Inclusão 1 cajuInserindo cajá: 2 cajá caju Há o deslocamento do primeiro valorpara manter a estrutura ordenada. UFS - DComp - Prof. Kenia Kodel 20
  21. 21. Inclusão 2 cajá cajuInserindo astro: 3 cajá caju a st r o Observa-se o estouro da capacidade dearmazenamento do nó implicando nanecessidade de crescimento da estrutura. UFS - DComp - Prof. Kenia Kodel 21
  22. 22. Inclusão 2 cajá caju Inserindo astro: 3 cajá astro caju Houve estouro da capacidade de armazenamentodo nó e consequente crescimento bottom up daestrutura. UFS - DComp - Prof. Kenia Kodel 22
  23. 23. InclusãoInserindo boca e loja: 3 cajá astro caju 4e5 cajá astro boca caju loja UFS - DComp - Prof. Kenia Kodel 23
  24. 24. InclusãoNa inclusão de boca, compara-se esta com a raiz,sendo menor, segue-se pela esquerda. Compara-se a nova palavra com o valor encontrado: astro,sendo maior, segue pela direita, havendo espaço,faz-se a inclusão. 4e5 cajá astro boca caju loja UFS - DComp - Prof. Kenia Kodel 24
  25. 25. Inclusão cajá astro boca caju loja gatoInserindo gato: 6 cajá gato astro boca caju loja UFS - DComp - Prof. Kenia Kodel 25
  26. 26. Inclusão cajá astro boca caju loja gatoHá o estou da capacidade de armazenamento do nócomposto por caju||loja, então o elemento medianogato é remetido ao nível ascendente – crescimentobottom up. UFS - DComp - Prof. Kenia Kodel 26
  27. 27. Inclusão 6 cajá gato astro boca caju lojaInserindo gota: 7 cajá gato astro boca caju gota loja UFS - DComp - Prof. Kenia Kodel 27
  28. 28. Inclusão 6 cajá gato astro boca caju gota lojaInserindo zebra: 7 cajá gato loja zebr astro boca caju gota a UFS - DComp - Prof. Kenia Kodel 28
  29. 29. InclusãoInserindo zebra: 7 cajá gato loja zebr astro boca caju gota a gato 7 cajá loja zebr astro boca caju gota a UFS - DComp - Prof. Kenia Kodel 29
  30. 30. Inclusão gato cajá loja astro boca caju gota zebraO estouro do nó gota||loja provoca o estouro do nóascendente cajá||gato. UFS - DComp - Prof. Kenia Kodel 30
  31. 31. Como efetuar exclusão em árvore B?UFS - DComp - Prof. Kenia Kodel 31
  32. 32. Exclusão gato cajá lojaastro boca caju gota zebra Como efetuar a exclusão do dado boca na árvore dada? UFS - DComp - Prof. Kenia Kodel 32
  33. 33. Exclusão gato cajá lojaastro caju gota loja Como efetuar a exclusão do dado gato na árvore dada? UFS - DComp - Prof. Kenia Kodel 33
  34. 34. Exclusão O estudo da exclusão em árvores B pode ser efetuado pelo acompanhamento do processo de execução desta operação; partindo, por exemplo, da árvore antes construída. UFS - DComp - Prof. Kenia Kodel 34
  35. 35. Exclusão gato cajá lojaastro boca caju gota zebra Importante ressaltar que, em toda e qualquer operação de manipulação de dados mantidos em árvore B, é indispensável preservar suas características. UFS - DComp - Prof. Kenia Kodel 35
  36. 36. ExclusãoExcluindo boca: gato cajá loja astro X boca caju gota zebraEste constitui um caso trivial, não provocanenhuma alteração na estrutura da árvore. UFS - DComp - Prof. Kenia Kodel 36
  37. 37. Numa árvore B de ordem x: 1. Todos os nós, exceto a raiz, devem armazenar de x a 2x dados. Exclusão 2. 3. A raiz deve armazenar de 1 a 2x dados. Todo nó ou é folha ou tem k+1 descendentes, onde k é o númeroExcluindo cajá: 4. de dados mantidos no nó. Todas as folhas devem apresentar- se num mesmo nível. gato X cajá loja astro boca caju gota zebraA simples remoção da palavra violaria a definição deárvore B. Então este é substituído pelo seuantecessor imediato – o nó mais a direita do ramo daesquerda. UFS - DComp - Prof. Kenia Kodel 37
  38. 38. ExclusãoExcluindo cajá: gato X cajá loja astro boca caju gota zebra Somente o antecessor imediato pode substituir um nó excluído? UFS - DComp - Prof. Kenia Kodel 38
  39. 39. Exclusão Excluindo caju: gato cajá loja astro boca X caju gota zebraNeste, o elemento não tem antecessor imediato, então faz-se uso do nó ascendente: cajá. ... ... X cajá boca  JÁ VISTO astro boca cajá astro X boca cajáÁrvore final: gato boca loja astro X boca cajá gota UFS - DComp - Prof. Kenia Kodel zebra 39
  40. 40. ExclusãoExcluindo zebra: gato cajá loja astro caju gota X zebraNeste caso o elemento não tem antecessor imediato,então faz-se uso do nó ascendente, no caso: loja. UFS - DComp - Prof. Kenia Kodel 40
  41. 41. ExclusãoExcluindo zebra: gato cajá X loja astro caju gota lojaEste elemento – loja – também não tem antecessorimediato,então faz-se uso do nó ascendente, nocaso: gato. UFS - DComp - Prof. Kenia Kodel 41
  42. 42. ExclusãoExcluindo zebra: X gato cajá gato astro caju gota lojaEste elemento – gato – não tem antecessorimediato nem nó ascendente, então há acombinação de nós. - Prof. Kenia Kodel UFS - DComp 42
  43. 43. Exclusão X gato cajá gatoastro caju gota loja cajá gato astro caju gota loja UFS - DComp - Prof. Kenia Kodel 43
  44. 44. Quando aplicar árvores B?UFS - DComp - Prof. Kenia Kodel 44
  45. 45. ExercícioEsquematizar a construção de uma árvoreB de ordem 2. UFS - DComp - Prof. Kenia Kodel 45
  46. 46. ExercícioPropor e esquematizar 5 exclusões a seremefetuadas sobre a árvore obtida emresposta à questão anterior de forma aaplicar os 4 casos vistos no estudo destaoperação. UFS - DComp - Prof. Kenia Kodel 46
  47. 47. ExercícioDescrever consulta a ser efetuada sobre aárvore obtida em resposta à questão 17:(a) de item existente (b) de iteminexistente. UFS - DComp - Prof. Kenia Kodel 47
  48. 48. ExercícioQuando aplicar árvores B? UFS - DComp - Prof. Kenia Kodel 48
  49. 49. Árvore B+Consiste numa variante da árvore B que,como sugere o nome, apresenta vantagensem relação à estrutura original. UFS - DComp - Prof. Kenia Kodel 49
  50. 50. Árvore B+Geralmente as árvores B+ apresentam menorprofundidade que as árvores B com mesmosdados, pois nas B+ há aumento do número deentradas mantidas por nó. UFS - DComp - Prof. Kenia Kodel 50
  51. 51. Árvore B+O tamanho dos nós é determinado pela capacidadeda memória principal. Nas B+ só as chaves sãomantidas nos nós não terminais, assim tem-seárvores com maior número de entradas por nó emenos profundidade, pois as chaves constituemapenas um subconjunto dos registros completos. UFS - DComp - Prof. Kenia Kodel 51
  52. 52. Árvore B+Nas árvores B+ os registros completos sãoarmazenados exclusivamente nas folhas.Os nós não terminais atuam como índices deacesso aos dados contidos nos nós terminais. UFS - DComp - Prof. Kenia Kodel 52
  53. 53. Árvore B+Então, em resumo, uma árvore B+ é uma árvore Bem que os registros de dados são mantidos nos nósfolhas e os nós não terminais constituem somentechaves que servem como índices de acesso aosdados. Índices Dados UFS - DComp - Prof. Kenia Kodel 53
  54. 54. Árvore B+ ÍndicesDados ...O processamento linear é garantido peloslinks que mantêm os nós folhas dispostos emsequência. UFS - DComp - Prof. Kenia Kodel 54
  55. 55. Árvore B+Para manutenção da ordenação dos dados deuma árvore B+ não é necessáriomovimentação de nós.É possível efetuar processamento direto ousequencial sobre os dados mantidos emárvores B+. UFS - DComp - Prof. Kenia Kodel 55
  56. 56. ÍndicesDados ... Como efetuar inserção em árvores B+? UFS - DComp - Prof. Kenia Kodel 56
  57. 57. Árvore B+Na inserção de dados em árvores B+ osregistros são armazenados nos nós folhas e aschaves são incluídas no nós índices com umponteiro, ou caminho, para o respectivo nóterminal. UFS - DComp - Prof. Kenia Kodel 57
  58. 58. Árvore B+É possível estudar o processo de inserção dedados em árvores B+ através da construção,por exemplo, de uma árvore composta pelaschaves: 801 – 502 – 983 – 904 – 605 – 656 – 707 –558 – 649. UFS - DComp - Prof. Kenia Kodel 58
  59. 59. Árvore B+Considera-se uma árvores B+ de ordem 2.1 Incluindo 80: 80 80... UFS - DComp - Prof. Kenia Kodel 59
  60. 60. Árvore B+2 Incluindo 50: 80 50... 80...3 e 4 Incluindo 98 e 90: 80 50... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 60
  61. 61. Árvore B+A inserção em árvores B+ segue osprocesso trivial de inclusão em árvorede pesquisa: dados menores ou iguais aonó pai são mantidos no ramo esquerdo eos maiores, à direita deste. UFS - DComp - Prof. Kenia Kodel 61
  62. 62. Árvore B+5 Incluindo 60: 80 50... 80... 90... 98... 60Esta implica em estouro do nó 50|80 e provocaos encaminhamentos da chave mediana para onó ascendente e do 80 para próximo espaço. UFS - DComp - Prof. Kenia Kodel 62
  63. 63. Árvore B+5 Incluindo 60: 80 50... 80... 90... 98... 60 60 80 50... 60... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 63
  64. 64. Árvore B+6 Incluindo 65: 60 80 50... 60... 80... 90... 98... 60 80 50... 60... 65... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 64
  65. 65. 7 Incluindo 70: 60 80 50... 60... 65... 80... 90... 98... 70 60 70 80 50... 60... 65... 70... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 65
  66. 66. Árvore B+8 Incluindo 55: 60 70 80 50... 60... 65... 70... 80... 90... 98... 55 55 60 70 80 50... 55... 60... 65... 70... 75... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 66
  67. 67. Árvore B+9 Incluindo 64: 55 60 70 80 50... 55... 60... 65... 70... 75... 80... 90... 98... 64 55 60 70 80 6550... 55... 60... 64... 65... 70... 75... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 67
  68. 68. Árvore B+9 Incluindo 64: 55 60 70 80 6550... 55... 60... 64... 65... 70... 75... 80... 90... 98... 65 55 60 70 8050... 55... 60... 64... 65... 70... 75... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 68
  69. 69. Árvore B+A inserção de 64 provoca o estouro donó 65||70 e o encaminhamento de 65ao nó ascendente que, por sua vez,implica no estouro do nó 55||60||70||80 e consequente encaminhamento de65 ao nível ascendente, comcrescimento da estrutura. UFS - DComp - Prof. Kenia Kodel 69
  70. 70. ÍndicesDados ... Como efetuar remoção em árvores B+? UFS - DComp - Prof. Kenia Kodel 70
  71. 71. Árvore B+Em função da forma de organização dasárvores B+, nem toda exclusão provocaalterações nas duas áreas de composiçãoda estrutura de dados e de índices. UFS - DComp - Prof. Kenia Kodel 71
  72. 72. Árvore B+A remoção de nós da área de dados éequivalente à remoção em estruturaslineares.Já a exclusão na área de índices é similara que ocorre em árvores B. UFS - DComp - Prof. Kenia Kodel 72
  73. 73. Árvore B+Discutir remoção das chaves 55 e 60 daestrutura dada abaixo: 65 55 60 70 8050... 55... 60... 64... 65... 70... 75... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 73
  74. 74. ExercícioEsquematize a inclusão dos nós 51, 76, 77, 78,200, 300 e 150 na estrutura dada a seguir: 65 55 60 70 8050... 55... 60... 64... 65... 70... 75... 80... 90... 98... UFS - DComp - Prof. Kenia Kodel 74
  75. 75. ExercícioEsquematize a exclusão dos nós 55, 60,65 e 78 da estrutura obtida em respostaà questão anterior. UFS - DComp - Prof. Kenia Kodel 75
  76. 76. ExercícioDescreva a operação de consulta emárvore B+. UFS - DComp - Prof. Kenia Kodel 76
  77. 77. ExercícioPesquise definição, operações eaplicação de estrutura tipo árvoredistinta das estudadas até então. UFS - DComp - Prof. Kenia Kodel 77
  78. 78. ExercícioDescreva os passos gerais da operação deconsulta em árvores digitais de pesquisa. UFS - DComp - Prof. Kenia Kodel 78
  79. 79. Complementar Estudos... File Organization and Processing Allan L Tharp Capítulo 9 B-Trees and Derivatives B Trees & B+ Trees UFS - DComp - Prof. Kenia Kodel 79
  80. 80. Próximos passos...Classificação Externa UFS - DCOMP - Prof. Kenia 80 Kodel UFS - DComp - Prof. Kenia Kodel 80

×