1 / 36

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.1

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.1. Árvores de Busca N-árias. Árvore de Busca N-ária. Uma Árvore de Busca N-ária é uma árvore que : contém m subárvores e n chaves, sendo n = m -1 e 2 <= m <= N;

Download Presentation

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INE 5384 Estruturas de Dados Profa. Patrícia Vilain 2003.1

  2. Árvores de Busca N-árias

  3. Árvore de Busca N-ária Uma Árvore de Busca N-áriaé uma árvore que : • contém m subárvores e n chaves, sendo n = m -1 e 2 <= m<= N; • todas as chaves estão ordenadas, ou seja, dado um conjunto de chaves ch1, ch2, ..., chi, ..., chn, nesta ordem, tem-se: chi < chi+1

  4. Exemplo de Árvore de Busca N-ária N = 4 13 54 93 3 9 22 27 50 63 71 88 100 33 44 49 51 52 74 77 83 35 38 43

  5. Vantagem de uma Árvore de Busca N-ária Indexação de um grande volume de dados: N = 3 h(A) = 0  2 chaves h(A) = 1  2 + 3.2 = 8 chaves h(A) = 2  2 + 3.2 + 3.3.2 = 26 chaves “Quanto maior o M, maior é o número de chaves que se pode indexar e conseqüentemente, encontra-se uma chave com menos acessos à arvore”

  6. Modelagem Física Subárvorei mantém todos os elementos maiores que elementoi e menores que elementoi+1 subárvore0 subárvore1 subárvore2 subárvoreN-2 subárvoreN-1 elem1 elem2 elemN-1 . . . SubN-1 Sub0 Sub1 SubN-2 Sub2

  7. Implementação numElem 6 elementos null 12 39 51 77 89 102 subÁrvores Sub0 Sub1 Sub2 Sub3 Sub4 Sub5 Sub6

  8. Operações em uma Árvore N-ária • Pesquisa • pesquisa todos os nodos • pesquisa por um elemento • Inclusão (elemento) • Exclusão (elemento)

  9. Pesquisa de Todos os Elementos Busca in-ordem 13 54 93 null 3 9 22 27 50 63 71 88 null null 33

  10. Pesquisa de Todos os Elementos Busca in-ordem 10 13 54 93 null 3 9 22 27 50 63 71 88 null null 33 3-9

  11. Pesquisa de Todos os Elementos Busca in-ordem 20 13 54 93 null 3 9 22 27 50 63 71 88 null null 33 3-9-13

  12. Pesquisa de Todos os Elementos Busca in-ordem 13 54 93 30 null 3 9 22 27 50 63 71 88 null null 33 3-9-13-22-27-33-50

  13. Pesquisa de Todos os Elementos Busca in-ordem 13 54 93 null 3 9 22 27 50 63 71 88 null null 33 3-9-13-22-27-50-54-63-71-88-93

  14. Pesquisa de um Elemento • Se o elemento do nodo < elemento pesquisada  árvore ESQ • Se o elemento do nodo > elemento pesquisada  árvore DIR • Busca dos elementos dentro do nodo: • busca seqüencial • busca binária

  15. Busca Seqüencial Pesquisar o elemento 33. > 13 E < 54 13 54 93 null 3 9 22 27 50 63 71 88 null null 33

  16. Busca Seqüencial Pesquisar o elemento 33. 13 54 93 > 27 E < 50 null 3 9 22 27 50 63 71 88 varredura null null 33

  17. Busca Seqüencial Pesquisar o elemento 33. 13 54 93 null 3 9 22 27 50 63 71 88 null null 33

  18. 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 null null null 9 9 9 13 13 13 22 22 22 33 33 33 50 50 50 54 54 54 63 63 63 71 71 71 88 88 88 Busca Binária A varredura dos elementos de um nodo é feita através de uma pesquisa binária. Pesquisar o elem. 54. chave > 50 chave < 63

  19. Inclusão em uma Árvore N-ária • Busca a posição na qual o elemento deve ser inserido. • Caso haja espaço para inserir o elemento em um nodo, o vetor deve ser rearranjado (deslocamento de elementos e subárvores) para a sua correta colocação. Incluir o elemento 18 chave < 54 13 54 93 null 3 9 22 37 null 63 71 88 null null 26

  20. Inclusão em uma Árvore N-ária Incluir o elemento 18 13 54 93 null 3 9 22 37 null 63 71 88 chave < 22 e existe vaga no nodo null null 26

  21. Inclusão em uma Árvore N-ária Incluir o elemento 18 13 54 93 null 3 9 18 22 37 63 71 88 deslocamento + inserção + definição novo nodo vazio à direita null null 26

  22. Inclusão em uma Árvore N-ária Incluir o elemento 90 chave < 90 13 54 93 null 3 9 18 22 37 63 71 88 null null 26

  23. Inclusão em uma Árvore N-ária Incluir o elemento 90 13 54 93 chave > 88 null 3 9 18 22 37 63 71 88 90 null null null null 26 povoa um nodo vazio, definindo uma subárvore à esquerda e à direita

  24. Exclusão em uma Árvore N-ária • Se o elemento possui subárvores ESQ e DIR vazias, ele é removido e ocorre deslocamento no vetor para ajustar os elementos restantes. • Se o elemento possui subárvores ESQ e DIR não vazias, ele é trocado com o maior elemento da subárvore ESQ ou o menor elemento da subárvore DIR (processo recursivo – até que ele esteja em um nodo folha!)

  25. Exclusão em uma Árvore N-ária Excluir o elemento 18 13 54 93 null 3 9 18 22 37 63 71 88 90 null null null null 26

  26. Exclusão em uma Árvore N-ária Excluir o elemento 18  não há subárvores ESQ e DIR 13 54 93 null 3 9 18 22 37 63 71 88 ajuste do vetor (deslocamento de chaves) 90 null null null null 26

  27. Exclusão em uma Árvore N-ária Excluir o elemento 18  não há subárvores ESQ e DIR 13 54 93 null null 3 9 22 37 63 71 88 90 null null null null 26

  28. Exclusão em uma Árvore N-ária Excluir o elemento 90 13 54 93 null null 3 9 22 37 63 71 88 90 null null null null 26

  29. Exclusão em uma Árvore N-ária Excluir o elemento 90  não há subárvores ESQ e DIR e o elemento é o único do nodo 13 54 93 null null 3 9 22 37 63 71 88 90 null null null null 26 nodo torna-se vazio (subárvores ESQ e DIR de 90 tornam-se NULL!)

  30. Exclusão em uma Árvore N-ária Excluir o elemento 90  não há subárvores ESQ e DIR e o elemento é o único do nodo 13 54 93 null null 3 9 22 37 63 71 88 null null 26

  31. Exclusão em uma Árvore N-ária Excluir o elemento 54 13 54 93 null null 3 9 22 37 63 71 88 null null 26

  32. Exclusão em uma Árvore N-ária Excluir o elemento 54  existem subárvores ESQ e DIR: o elemento é trocado com o maior elemento na ESQ 13 54 93 null null 3 9 22 37 63 71 88 null null 26

  33. Exclusão em uma Árvore N-ária Excluir o elemento 54  o elemento possui subárvore ESQ não vazia: nova troca. 13 37 93 null null 3 9 22 54 63 71 88 null null 26

  34. Exclusão em uma Árvore N-ária Excluir o elemento 54  o elemento pode ser removido 13 37 93 null null 3 9 22 26 63 71 88 null null 54

  35. Exclusão em uma Árvore N-ária Excluir o elemento 54 13 37 93 null null 3 9 22 26 63 71 88

  36. Problema da Árvore de Busca N-ária • Uma Árvore de Busca N-ária pode ficar desbalanceada. • Exemplo: • N = 4 • ordem de inclusão: 20-60-90-12-7-18-5-4-6-1-3 Alternativa de solução:Árvore B

More Related