VinBR

AEDs III 29/06/2011

Mar 7th, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. Hoje Estamos falando sobre uma variação da Arvore B
  2.  
  3. CONCEITO:
  4. Arvore B*, é uma variação da Arvore B.
  5. A diferença é que apesar de voce manter todas as caracteristicas iguais, voce só armazena chaves nas folhas.
  6. Então os indices que ficavam nos nós não folhas, eles são cópias das chaves que estão em uma folha filha.
  7.  
  8. A parte confusa é que se eu remover da folha essa chave, o indice permance lá, portanto encontrar o indice não necessáriamente indica que a chave ainda está lá.
  9.  
  10. Outro diferencial é que há um ponteiro entre cada folha apontando para a próxima folha!, isso agiliza muito o acesso sequencial! =]
  11.  
  12. Eu cheguei atrazado portando não pude anotar as difereças no processo de inserção, remoção e etc. infelizmente.
  13.  
  14. --------------------------------------------------------------------------------------------------------------------
  15.  
  16. Acesso concorrente:
  17.  
  18. Uma pagina segura é se em uma inserção ela tem menos de 2m chaves, e se em uma remoção ela tem mais de m chaves.
  19.  
  20. Existem 2 tipos de travamento:
  21. Travamento de leitura, que permite leituras mas nao inserções e remoções
  22.  
  23. E travamento exclusivo que não permite que os outros processos nem vejam a pagina.
  24.  
  25. Para uma leitura, voce deve colocar um travamento de leitura na raiz.
  26. E então realize sua busca, a cada vez que voce caminha para um filho libere o travamento do pai e continue e trave o filho, até achar a chave, le-la e destrava-la.
  27.  
  28. Para escrita trave a raiz exclusivamente, e vá caminhando pelos nós ate encontrar a folha, e trave todas pelo caminho
  29. Então se encontrar a chave, verifique se sua pagina é segura, se ela for, libere os travamentos das demais.
  30.  
  31. --------------------------------------------------------------------------------------------------------------------
  32.  
  33. Considerações praticas a respeito da arvore B:
  34.  
  35. Estrutura de fácil manutenção eficiete e versátil, afinal ela está sempre balanceada, e é confiável.
  36.  
  37. Decore isso:
  38. Formula1 <= altura_da_arvore <= formula2
  39. // Ps: seria mais esperto decorar isso depois de eu descorbrir as formulas xP, pq eu não copiei elas a tempo =P
  40.  
  41. // Nota da Professora: ha uma probabilidade maior de não criar-se uma nova partição durante a inserção de um registro do que de criar-se um.
  42. para M maiores, a chance de nao se criar nova particção vai pra 99%.
  43. O uso de espaço médio na arvore é 69% do tamanho total.
  44. // Nota minha: essas notas da professora vao cair em prova!
  45.  
  46. --------------------------------------------------------------------------------------------------------------------
  47.  
  48. Pagina segura mais profunda:
  49. A ideia é que voce só precisa travar da pagina segura mais profunda pra baixo, quando estiver realiando uma inserçào ou remoção.
  50. Porem isso não ajuda muito, pois quase sempre a pagina segura mais profunda vai ser a folha mesmo, então da na mesma do algoritimo que falei antes.
  51.  
  52. --------------------------------------------------------------------------------------------------------------------
  53.  
  54. CONCEITO:
  55. Tecnica de transbordamento da arvore B
  56.  
  57. Sabe quando voce está realizando uma inserção e voce precisa duplicar uma pagina?
  58. Bem a ideia do transbordamento é ao invés de duplicar ela de vez voce pega uma chave da pagina cheia e joga para a irma a direita ou a esquerda.
  59. Esse efeito gera 83% de aproveitamendo do espaço de uma arvore B
  60.  
  61. // A professora falou que se isso for cair em prova vai ser na pergunta: "pense uma otimização para a operação de inserção da arvore B"
Advertisement
Add Comment
Please, Sign In to add comment