A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Árvores Prof. Ernesto Lindstaedt. Introdução Estrutura de dados adequada para representar e manipular informação hierárquica Estrutura de.

Apresentações semelhantes


Apresentação em tema: "Introdução a Árvores Prof. Ernesto Lindstaedt. Introdução Estrutura de dados adequada para representar e manipular informação hierárquica Estrutura de."— Transcrição da apresentação:

1 Introdução a Árvores Prof. Ernesto Lindstaedt

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

3 Definição Uma árvore T é um conjunto finito de elementos denominados nós ou vértices tais que: Uma árvore T é um conjunto finito de elementos denominados nós ou vértices tais que: T = 0 é a árvore dita vazia ouT = 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 m1 conjuntos distintos não vazios que são as sub- árvores de r, cada sub-árvore a qual é, por sua vez, uma árvore.Existe um nó r, chamado raiz de T; os nós restantes constituem um único conjunto vazio ou são divididos em m1 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 T v indica a sub- árvore de T com raiz em v Notação: Se v é um nó de T,então a notação T v indica a sub- árvore de T com raiz em v Seja a árvore T A = {A, B,...} Seja a árvore T A = {A, B,...}T A = {A, B,...}T A = {A, B,...} A árvore T A possui duas sub-árvores: T b e T c onde T b = { B } e T c = {C, D,...}A árvore T A possui duas sub-árvores: T b e T c onde T b = { B } e T c = {C, D,...} A sub-árvore Tc possui 3 subárvores: T d, T f e T e onde T d = {D, G, H} T f = {F, I} Te = {E}A sub-árvore Tc possui 3 subárvores: T d, T f e T e onde T d = {D, G, H} T f = {F, I} Te = {E} As sub-árvores T b, T e, T g, T h, T i possuem apenas o nó raiz e nenhuma sub-árvore. As sub-árvores T b, T e, T g, T h, T i possuem apenas o nó raiz e nenhuma sub-árvore.

5 Outro exemplo:

6 Mais definições... Seja v o nó raiz da subárvore T v de T Nós filhos Nós filhos os nós w1, w2,... Wj, raízes das subárvores de Tv, são chamados filhos de v.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ô 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.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 Nó descendente e ancestral Se x pertence à subárvore Tv, então x é descendente de v e v é ancestral, ou antecessor, de x.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 Grau de saída: número de filhos de um nó;Grau de saída: número de filhos de um nó; Nó folha Nó folha Nó que não possui descendentes, ou seja, um nó folha é aquele com grau de saída nulo.Nó que não possui descendentes, ou seja, um nó folha é aquele com grau de saída nulo. Nó interior ou interno Nó interior ou interno Nó que não é folha (isto é, possui grau de saída diferente de zero).Nó que não é folha (isto é, possui grau de saída diferente de zero). Grau de uma árvore Grau de uma árvore Valor máximo entre os graus de seus nós.Valor máximo entre os graus de seus nós.

9 Exemplo:

10 Mais definições... Floresta Floresta Conjunto de zero ou mais árvoresConjunto de zero ou mais árvores Caminho na árvore Caminho na árvore Seqüência de nós distintos v 1, v 2,..., v k, tal que existe sempre entre nós consecutivos (isto é, entre v 1 e v 2, entre v 2 e v 3,..., v (k-1) e v k ) a relação "é filho de ou "é pai de"Seqüência de nós distintos v 1, v 2,..., v k, tal que existe sempre entre nós consecutivos (isto é, entre v 1 e v 2, entre v 2 e v 3,..., v (k-1) e v k ) a relação "é filho de ou "é pai de" Comprimento do caminho Comprimento do caminho Um caminho que passa por v k vértices é obtido pela seqüência de k-1 pares. O valor k-1 é o comprimento do caminho.Um caminho que passa por v k 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ó 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)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 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)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) 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) )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 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: 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: Breadth - First Search (BFS) Fila: 13 Fila: 10, 25 Fila: 25, 2, 12 Fila: 2, 12, 20, 31 Fila: 12, 20, 31 Fila: 20, 31 Fila: 31 Fila: 29 Percurso: 13, 10, 25, 2, 12, 20, 31, 29

16 Caminhamento em Árvores - Profundidade 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). 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). Percurso: 2, 12, 10, 20, 29, 31, 25, 13 Deapth - First Search (DFS) V – Visitar um nó L – Percorrer à esquerda R – Percorrer à direita VLR VRL LVR RVL LRV RLV


Carregar ppt "Introdução a Árvores Prof. Ernesto Lindstaedt. Introdução Estrutura de dados adequada para representar e manipular informação hierárquica Estrutura de."

Apresentações semelhantes


Anúncios Google