1 / 16

Introdução a Árvores

Introdução a Árvores. Prof. Ernesto Lindstaedt. Introdução. Estrutura de dados adequada para representar e manipular informação hierárquica Exemplos de aplicação : Estrutura de diretórios (pastas) em um sistema de arquivos Organograma de uma empresa/instituição Expressão aritmética

Download Presentation

Introdução a Árvores

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. Introdução a Árvores Prof. Ernesto Lindstaedt

  2. Introdução • Estrutura de dados adequada para representar e manipular informação hierárquica • Exemplos de aplicação: • Estrutura de diretórios (pastas) em um sistema de arquivos • Organograma de uma empresa/instituição • Expressão aritmética • Estrutura de classes de uma API

  3. Definição • Uma árvore T é um conjunto finito de elementos denominados nós ou vértices tais que: • T = 0 é a árvore dita vazia ou • Existe um nó r, chamado raiz de T; os nós restantes constituem um único conjunto vazio ou são divididos em m1 conjuntos distintos não vazios que são as sub-árvores de r, cada sub-árvore a qual é, por sua vez, uma árvore.

  4. Sub-árvores: definições • Notação: Se v é um nó de T,então a notação Tv indica a sub-árvore de T com raiz em v • Seja a árvoreTA = {A, B, ...} • A árvore TA possui duas sub-árvores: Tb e Tc onde Tb = { B } e Tc = {C, D, ...} • A sub-árvore Tc possui 3 subárvores: Td , Tf e Te onde Td = {D, G, H} Tf = {F, I} Te = {E} • As sub-árvores Tb, Te, Tg, Th, Ti possuem apenas o nó raiz e nenhuma sub-árvore.

  5. Outro exemplo:

  6. Mais definições... Seja v o nó raiz da subárvore Tv de T • Nós filhos • os nós w1, w2, ... Wj, raízes das subárvores de Tv, são chamados filhos de v. • Pais, tios, irmãos e avô • O nó v é chamado pai de w1, w2, ... wj. Os nós w1, w2, ...wj são irmãos. Se z é filho de w1 então w2 é tio de z e v é avô de z. • Nó descendente e ancestral • Se x pertence à subárvore Tv, então x é descendente de v e v é ancestral, ou antecessor, de x.

  7. Exemplo:

  8. Mais definições... • Grau de saída • Grau de saída: número de filhos de um nó; • Nó folha • Nó que não possui descendentes, ou seja, um nó folha é aquele com grau de saída nulo. • Nó interior ou interno • Nó que não é folha (isto é, possui grau de saída diferente de zero). • Grau de uma árvore • Valor máximo entre os graus de seus nós.

  9. Exemplo:

  10. Mais definições... • Floresta • Conjunto de zero ou mais árvores • Caminho na árvore • Seqüência de nós distintos v1, v2, ..., vk, tal que existe sempre entre nós consecutivos (isto é, entre v1 e v2, entre v2 e v3, ... , v(k-1) e vk) a relação "é filho de“ ou "é pai de" • Comprimento do caminho • Um caminho que passa por vk vértices é obtido pela seqüência de k-1 pares. O valor k-1 é o comprimento do caminho.

  11. Exemplo de floresta:

  12. Exemplo de caminho:

  13. Mais definições... • Nível (ou profundidade) de um nó • O nível ou profundidade de um nó é o número de nós do caminho da raiz até o nó (raiz tem nível 1) • Altura de um nó v • Número de nós no maior caminho de v até um de seus descendentes (folhas têm altura 1) • Altura de uma árvore T ou h(T) • Máximo nível de seus nós (a altura da sub-árvore de raiz v é representada por h(v) )

  14. Exemplo de níveis:

  15. Caminhamento em Árvores - Amplitude • Breadth - First Search (BFS) Fila: 13 13 Fila: 10, 25 Fila: 25, 2, 12 10 25 Fila: 2, 12, 20, 31 Fila: 12, 20, 31 2 12 20 31 Fila: 20, 31 Fila: 31 29 Fila: 29 Percurso: 13, 10, 25, 2, 12, 20, 31, 29 Visitar cada nó começando no de menor nível e mover-se para os níveis mais altos, nível após nível, visitando cada nó da esquerda para a direita:

  16. Caminhamento em Árvores - Profundidade • Deapth - First Search (DFS) V – Visitar um nó L – Percorrer à esquerda R – Percorrer à direita VLR VRL LVR RVL LRV RLV 13 10 25 2 12 20 31 29 Percurso: 2, 12, 10, 20, 29, 31, 25, 13 O caminhamento em profundidade prossegue tanto quanto possível à esquerda (ou direita), então se move para trás até a primeira encruzilhada, vai um passo para a direita (ou esquerda) e novamente, tanto quanto possível, para a esquerda (ou direita).

More Related