1 / 24

Árvores Binárias: Construção e Percursos

UPE – Caruaru – Sistemas de Informação Disciplina: Estrutura de Dados e Arquivo Prof.: Paulemir G. Campos. Árvores Binárias: Construção e Percursos. Árvores Binárias: Definições. São estruturas de dados onde existe uma relação hierárquica entre seus elementos constituíntes, chamados nós;

Download Presentation

Árvores Binárias: Construção e Percursos

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. UPE – Caruaru – Sistemas de InformaçãoDisciplina: Estrutura de Dados e ArquivoProf.: Paulemir G. Campos Árvores Binárias: Construção e Percursos EDA - Prof. Paulemir Campos

  2. Árvores Binárias: Definições • São estruturas de dados onde existe uma relação hierárquica entre seus elementos constituíntes, chamados nós; • Há um nó principal, chamado raiz da árvore; • A partir da raiz da árvore, cada nó pode ter no máximo dois nós, chamados filhos esquerdo e direito. EDA - Prof. Paulemir Campos

  3. Árvores Binárias: Definições • Porsuavez, osnós à esquerda do nóraizconstituem a Sub-ÁrvoreEsquerda e osnós à direita do nóraizformam a Sub-ÁrvoreDireita; • Contudo, a raiz de umaárvorebinária e suasrespectivas sub-árvoresesquerda e direitadevemformar sub-conjuntosfinitos e disjuntos de nós. EDA - Prof. Paulemir Campos

  4. Árvores Binárias: Exemplos Raiz da Árvore T Sub-Árvore Esquerda A A Sub-Árvore Direita B B C C D D E E F F G G H H I I EDA - Prof. Paulemir Campos

  5. Árvores Binárias: Exemplos Raiz da Árvore T2 Raiz da Árvore T1 A A A A T1  T2 B B B B Filho Direito ou Sub-Árvore Direita de T2 Filho Esquerdo ou Sub-Árvore Esquerda de T1 Note que as árvores binárias T1 e T2 são diferentes, pois, apesar de terem o mesmo conteúdo na raiz, o conteúdo de seus respectivos nós filhos direito e esquerdo são diferentes. EDA - Prof. Paulemir Campos

  6. Árvores Binárias: Contra exemplos Exemplos de estruturas que não são árvores binárias. A Sub-Árvore Direita A Sub-Árvore Esquerda Sub-Árvore Esquerda B C B C D E F D E F G H I G Sub-Árvore Direita I EDA - Prof. Paulemir Campos

  7. Árvores Binárias: Características • Possuem um ponteiro para o nó raiz da árvore (alocação dinâmica); • Cada nó pode ter até dois filhos; • Raiz e Sub-Árvores Direita e Esquerda devem constituir conjuntos disjuntos; • Em informática, crescem de cima para baixo, já que a raiz fica no topo (nível zero). EDA - Prof. Paulemir Campos

  8. Árvores Binárias: Nós • O grau de um nó representa o seu número de filhos; • Ex.: Um nó de grau 2 indica que ele tem dois filhos. • Tipos de nós: • Folhas ou Externos – Não tem filhos. • Não-Folhas ou Internos – Tem ao menos um filho. EDA - Prof. Paulemir Campos

  9. Árvores Binárias: Profundidade • A profundidade ou altura de uma árvore binária é determinada pelo seu maior nível. Nível 0 Nível 1 Nível 2 Nível 3 A B C D E F G H I A profundidade ou altura (h) da árvore binária acima é 3 (h=3). EDA - Prof. Paulemir Campos

  10. Árvores Binárias: Tipos • Árvore Estritamente Binária: • Todo nó não-folha deve ter sub-árvores esquerda e direita não vazias. A B C D E F G EDA - Prof. Paulemir Campos

  11. Árvores Binárias: Tipos • Árvore Binária Completa: • É uma árvore estritamente binária em que todas as folhas estão no nível máximo da árvore. A B C D E F G EDA - Prof. Paulemir Campos

  12. Árvores Binárias: Tipos • Árvore Binária Quase Completa: • 1 – Todas as folhas estão no último ou penúltimo níveis; • 2 – E, para cada nó com descendente direito no último nível, todos os descendentes esquerdos folhas também estiverem no último nível. A B C D E F G H I EDA - Prof. Paulemir Campos

  13. Árvores Binárias Completas • Cálculo do Número de Nós: • O número de nós (n) é obtido com a fórmula abaixo, sendo fornecida a altura (h) da mesma. A B C D E F G Ex.: Na árvore acima de altura h=2, obtemos facilmente com a fórmula ao lado que o número de nós desta árvore binária completa é n=7. EDA - Prof. Paulemir Campos

  14. Árvores Binárias Completas • Cálculo da Altura: • Sabendo-se o número de nós (n), pode-se com a fórmula abaixo obter-se a sua altura (h). A B C D E F G Ex.: Na árvore binária completa acima, cujo número de nós é n=7, obtemos com a fórmula ao lado que sua altura é h=2. EDA - Prof. Paulemir Campos

  15. Árvores Binárias: Criação • Definindo o tipo da estrutura: definaestrutura no { caracter dado ponteiroestrutura no esquerdo, direito } tArvore EDA - Prof. Paulemir Campos

  16. Árvores Binárias: Criação • Alocando memória dinamicamente ponteiro tArvoreraiz raiz = aloque(tArvore) EDA - Prof. Paulemir Campos

  17. Árvores Binárias: Criação • Criando uma árvore binária: ponteiro tArvore CriaArvore(caracternovo){ ponteiro tArvoreno no = aloque(tArvore) no->dado = novo no->esquerdo = NULL no->direito = NULL retorneno } EDA - Prof. Paulemir Campos

  18. Árvores Binárias: Insere à Esquerda Insere_Esquerda(ponteiro tArvore raiz,caracter atual, caracternovo){ ponteiro tArvore folha se (raiz!=NULL){ se (raiz->dado==atual){ /* Encontrou o nó procurado */ se (raiz->esquerdo==NULL){ folha = CriaArvore(novo) raiz->esquerdo = folha } senãoescreva(“Inserção inválida”) } senão { Insere_Esquerda(raiz->esquerdo, atual, novo) Insere_Esquerda(raiz->direito, atual, novo) } } } OBS.: Insere à direita é análogo a este procedimento. EDA - Prof. Paulemir Campos

  19. Árvores Binárias: Percursos • Principais formas de se percorrer uma árvore binária não vazia: • Passeio Pré-Fixo • Passeio Central • Passeio Pós-Fixo EDA - Prof. Paulemir Campos

  20. Árvores Binárias: Passeio Pré-Fixo (r-e-d) • Efetua-se o procedimento recursivo, enquanto possível: • Visita-se a raiz; • Percorre-se a sub-árvore esquerda em ordem pré-fixa; • Percorre-se a sub-árvore direita em ordem pré-fixa. EDA - Prof. Paulemir Campos

  21. Árvores Binárias: Passeio Central (e-r-d) • Efetua-se o procedimento recursivo, enquanto possível: • Percorre-se a sub-árvore esquerda em ordem central; • Visita-se a raiz; • Percorre-se a sub-árvore direita em ordem central. EDA - Prof. Paulemir Campos

  22. Árvores Binárias: Passeio Pós-Fixo (e-d-r) • Efetua-se o procedimentorecursivo, enquantopossível: • Percorre-se a sub-árvoreesquerdaemordempós-fixa; • Percorre-se a sub-árvoredireitaemordempós-fixa; • Visita-se a raiz. EDA - Prof. Paulemir Campos

  23. Árvores Binárias: Exemplos de Passeios A Pré-Fixo (r-e-d): ABDGCEHIF B C Central (e-r-d): DGBAHEICF D E F Pós-Fixo (e-d-r): GDBHIEFCA G H I EDA - Prof. Paulemir Campos

  24. Referências • Szwarcfiter, J. L.; Markenzon, L. Estruturas de Dados e seus Algoritmos. Rio de Janeiro: LTC, 2a. ed., 1994. • Veloso, P. et al. Estrutura de Dados. Rio de Janeiro: Editora Campus, 1996. EDA - Prof. Paulemir Campos

More Related