Aula 08 - árvores

1.765 visualizações

Publicada em

Aula 08 - árvores

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.765
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
87
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 08 - árvores

  1. 1. ÁrvoresCristiano Pires Martins
  2. 2. O jardineiro é jizus e asárveres somos nozes
  3. 3. Introdução• As árvores são uma das estrutura dedados mais importantes da área dacomputação;• É utilizada em muitas aplicações domundo real;• Os relacionamentos lógicos entre osdados representam algumadependência de hierarquia oucomposição entre os nodos;• Exite uma hierarquia de subordinação.
  4. 4. Conceitos Básicos• As linhas que unem 2 nodosrepresentam os relacionamentoslógicos e as dependências desubordinação existentes entreeles;• A se relaciona somente com B, Ce D e não com os demais;• B se relaciona somente com A eE.AGFEDCBHI J
  5. 5. Conceitos Básicos• Relacionamentos desubordinação, formandohierarquias, podem apresentardiferentes significados:• Hierarquias de especialização:representa classes e subclasses;• Hierarquias de composição: onodo é composto por partes;• Hierarquias de dependência:representa um organograma.
  6. 6. Hierarquia de EspecializaçãoVeículoMotoCarroHelicópteroAviãoAéreo Terrestre AquáticoMotor Vela RemoNavio Iate Lancha
  7. 7. Hierarquia de ComposiçãoCarroChassis Motor Rodas
  8. 8. Hierarquia de DependênciaDiretorSuperintendenteDiretorAdministrativoDiretor FábricaDiretorComercialDepartamentoCont. QualidadeDepartamentoManutençãoDepartamentoProdução
  9. 9. AGFEDCBHI JRepresentação Gráfica de uma Árvore
  10. 10. Terminologia• A terminologia não é padronizada;• Existem nomes diferentes para os mesmosconceitos em diferentes publicações.
  11. 11. Terminologia• Raiz:• Todos os outros nós da árvore são subordinados a ele;• O acesso a todos os nós é sempre a partir dele.• Nós descendentes:• Relação de dependência com o nó mais acima.RaizNós descendentes
  12. 12. Terminologia• Subárvore:• Conjunto de nós, sendo todos subordinados a um único nó,externo a esta subárvore.Subárvores
  13. 13. Terminologia• Grau de Um Nó:• Número de Subárvores que são subordinadas diretamente aesse nó.• Grau de uma Árvore:• É o maior valor dentre os graus de todos os seus nós.Grau de um Nó
  14. 14. Terminologia• Folha ou Terminal (externo): são os nós degrau zero.• Nó de derivação (interno): nós de graumaior do que zero e que apresentam umasubárvore.FolhaNó de Derivação
  15. 15. Terminologia• Nível de um Nó:número de ligaçõesentre este nó e a raizda árvore mais um.• Caminho: sequência denós consecutivosdistintos entre doisnós.• Comprimento doCaminho: Número deníveis entre os dois nósmenos um.CaminhoNível 1Nível 2Nível 3Nível 4Comprimento = 3
  16. 16. Terminologia• Altura ou Profundidade: é o número de nósdo maior caminho deste nó até um de seusdescendentes - folha;• A altura de uma árvore é igual ao maiornível de seus nós;• Todos os nós folha tem altura 1.
  17. 17. Terminologia• Floresta: conjunto de zero ou mais árvoresdisjuntas.• Árvore ordenada: quando a ordem de suassubárvores é relevante para a aplicação queestá sendo representada através destaestrutura de dados.
  18. 18. TerminologiaFloresta Árvores OrdenadasCBABCA≠
  19. 19. Terminologia• Árvore binária: quando apresentar nomáximo grau 2 em cada nó;• Árvore n-ária: quando apresentar nomáximo grau n em cada nó.
  20. 20. Terminologia• Árvores isomorfas: quando é possível que se tornemcoincidentes através de uma permutação na ordemdas subárvores de seus nós.• Árvores balanceadas: é aquela na qual existe umadistribuição equilibrada entre os nós da árvore, ouseja, existe uma diferença mínima entre todas asfolhas e a raiz.• Uma árvore cheia ou completamente balanceada éaquela em que todas as folhas estão a uma distânciaigual da raiz.
  21. 21. Terminologia• Caso o número de nós seja diferente dezero, existe sempre uma raiz;• Caso o número de nós seja zero, édenominada vazia.
  22. 22. Operações Básicas• Criação de uma árvore;• Alocação das variáveis necessárias para a definição daárvore;• As demais operações são habilitadas depois disso.• Inserção de um novo nó:• Como raiz;• Como folha;• Como uma posição intermediária.
  23. 23. Operações Básicas• Exclusão de um Nó:• Quando não se realiza sobre uma folha, precisa reorganizara árvore.• Acesso a um Nó;• Destruição de uma árvore.
  24. 24. Outras Operações• Pai: dado um determinado nó, retorna oendereço do nó imediatamente superior;• Tamanho: retorna o número total de nósde uma árvore;• Altura: retorna a altura da árvore.
  25. 25. Árvores UsandoContiguidade Física• Não é intuitiva como era no caso das ListasLineares;AEDCBGF IHA(3) B(1) C(0) D(4) E(0) F(0) G(0) H(0) I(0)A(3) B(1) E(0) C(0) D(4) F(0) G(0) H(0) I(0)1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10
  26. 26. ImplementaçõesAEDCBGF IHA(3) B(1) C(0) D(4) E(0) F(0) G(0) H(0) I(0)A(3) B(1) E(0) C(0) D(4) F(0) G(0) H(0) I(0)1 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10Por NíveisPor Profundidade
  27. 27. Desvantagens Usando ContiguidadeFísica• Implementação não constitui uma boa representaçãofísica de árvores;• Dificuldade de seguir a hierarquia implícita nestasestruturas ao manipular a árvore;• Inserção e Remoção demorada;
  28. 28. Vantagens Usando ContiguidadeFísica• É eficiente em termos de espaçoocupado, principalmente quando o graunão varia muito;• Implementação é mais simples se existirlimitação do número de descendentes.
  29. 29. Árvore Ternária UsandoContiguidade FísicaAEDCBF GA B C D λ E λ λ λ λ λ F G ...1 2 3 4 5 6 7 8 9 10 11 12 13
  30. 30. Árvores Implementadaspor Encadeamento• O acesso se dá sempre pela raiz;• Os demais nós são alcançados somentepelos endereços dos elos;• A hierarquia de subordinação, implícita nasárvores, fica perfeitamente representada.• Todos os nós da árvore deve apresentar amesma estrutura.
  31. 31. Árvore Implementada Atravésde EncadeamentoAEDCBF GAC / / /B / / D /F / / /E / / / G / / /
  32. 32. Vantagens da Implementação porEncadeamento• É bastante Intuitiva;• Inserção e Remoção são simples,constituindo basicamente na atualizaçãode endereços nos campos de elo dealguns nós.
  33. 33. Desvantagens da Implementaçãopor Encadeamento• Árvores cujos nós têm grau variadoapresentam geralmente muitos campos deelo ociosos;• O Acesso aos nós pode ser dificultadodevido à necessidade de acessar qualquernós sempre através da raiz.
  34. 34. Exercício• Considere a árvore com representação aninhada aseguir:( A ( B ) ( C ( F ( H ) ( I ) )) ( D) ( E ( G ) ) )• Represente a mesma árvore através de:• Diagrama de Inclusão;• Diagrama de barras;• Numeração por níveis;• Monte a árvore na grafia convencional.AECBF GDIH
  35. 35. Exercício• Represente a mesma árvore através de:• Diagrama de Inclusão;• Diagrama de barras;• Numeração por níveis;• Representação aninhada.AECBF GDIH
  36. 36. Exercício• Para a árvore ao lado, responda àsperguntas a seguir:• Quantas subárvores esta árvore contém?• Quais os nós-folha?• Qual o grau de cada nó?• Qual o grau da árvore?• Liste os ancestrais dos nós B, G e I.• Liste os nós de quem C é ancestral próprio.• Liste os nós de quem D é descendente próprio.• Dê o nível e a altura do nó F e A.• Qual a altura da árvore?AECBF GDIH
  37. 37. Resposta• Quantas subárvores esta árvore contém? 4• Quais os nós-folha? B, D, G, H e I• Qual o grau de cada nó?• A=4,B=0,C=1,D=0,E=1,F=2,G=0,H=0 e I=0• Qual o grau da árvore? 4• Liste os ancestrais dos nós B, G e I.• B=A; G=A e E; I=A, C e F• Liste os nós de quem F é ancestral próprio. H e I• Liste o nó de quem D é descendente próprio. A• Dê o nível e a altura do nó F e A.• F: Nível 3 e Altura 2 A: Nível 1 e Altura 4• Qual a altura da árvore? 4 (maior caminho)AECBF GDIH
  38. 38. AECBG IDML ORQFKJPTSHNExercícioPara a árvore ao lado, responda às perguntas a seguir:• Quantas subárvores o nó G contém?• Quais os nós-folha?• Qual o grau de cada nó?• Qual o grau da árvore?• Liste os ancestrais dos nós L, Q e U.• Liste os nós de quem P é ancestral próprio.• Liste os nós de quem G é descendente próprio.• Dê o nível e a altura do nó J, G, S, O e A.• Qual a altura da árvore?U

×