Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1
Introdução No dia a dia aparecem muitos problemas envolvendo árvores: Árvore genealógica; Organograma de uma empresa; Na informática: Organização da estrutura de arquivos (diretórios); Armazenamento e busca eficiente de dados; Ordenação; Árvores de decisão. 2
Definições Uma árvore é um grafo acíclico, não orientado e conectado. Uma floresta é um grafo acíclico, não orientado e, possivelmente, desconectado. Árvore enraizada é um tipo especial de árvore que apresenta um vértice (raiz) que se distingue dos demais. Utiliza-se o termo nó para fazer referência aos vértices. 3
Definições 4
Propriedades PROPRIEDADE 1: Existem exatamente um caminho simples entre cada par de vértices de uma árvore. PROPRIEDADE 2: Um árvore que contém n vértices contém exatamente n 1 arestas. PROPRIEDADE 3: Um grafo conexo simples que contém n (com n 2) vértices e exatamente n 1 arestas contém no mínimo um vértice de grau 1. 5
Propriedades PROPRIEDADE 4: Um grafo é uma árvore se e somente se ele é minimamente conexo, isto é, a remoção de qualquer aresta torna o grafo desconexo. PROPRIEDADE 5: Um grafo conexo é uma árvore se somente se o acréscimo de uma aresta entre quaisquer dois vértices cria exatamente um circuito. 6
Propriedades Então, um grafo G com n vértices é uma árvore se: G é conexo e sem circuito, ou G é conexo e tem n 1 arestas, ou G é sem circuito e tem n 1 arestas, ou Existe exatamente 1 caminho entre todos os pares de vértices de G, ou G é um grafo minimamente conectado. 7
Mais Definições Seja x um nó de uma árvore enraizada T com raiz r: Ancestral: é qualquer nó y no caminho de r a x. Descendente: x é um descendente de y se y é ancestral de x. Ancestral Próprio: y é ancestral próprio de x se y é ancestral de x e y x. Descendente Próprio: y é descendente próprio de x se y é descendente de x e y x. 8
Mais Definições Sub-árvore Enraizada em x: árvore induzida pelos descendentes de x, sendo x a sua raiz. Filho: x é filho de y se ele é um descendente direto. Pai: é o ancestral próprio mais próximo. A raiz é o único nó sem pai. Folha: um nó sem filhos. Nó Interno: um nó que não é folha. 9
Mais Definições Profundidade: o número de arestas desde a raiz r até um vértice x é a profundidade de x em T. Altura: A altura de um nó em uma árvore é o maior comprimento do nó até uma folha. A altura de uma árvore é a altura de sua raiz. Altura da árvore é a maior profundidade de qualquer nó da árvore. 10
Altura e Profundidade 11
Distância Em um grafo conexo, a distância entre dois vértices é o comprimento do caminho mais curto. Se não tiver peso atribuído às arestas, o comprimento será o número de arestas no caminho. Se tiver pesos, o comprimento será a soma dos pesos. Se um grafo é uma árvore, a identificação da distância é uma tarefa simples, pois existe somente um caminho entre cada par de vértices. 12
Excentricidade A excentricidade E(v) de um vértice v em um grafo conexo é a distância de v até o vértice mais longe de v. E ( v) = max d ( v, vi v i V ) 13
Centro de uma Árvore O centro de um grafo G é o vértice de menor excentricidade. 14
Centro de uma Árvore TEOREMA: Toda árvore tem exatamente 1 ou 2 centros. COROLÁRIO: Se uma árvore tem 2 centros, então estes centros são adjacentes. Raio de uma árvore é a excentricidade do centro. Diâmetro de uma árvore é o comprimento do maior caminho em T. 15
Raio e Diâmetro 6 6 6 6 5 5 4 3 4 5 6 6 Centro: vértice de excentricidade 3 Raio: 3 Diâmetro: 6 5 6 16
Árvore Geradora Uma árvore T é denominada árvore geradora de um grafo conexo G se T é um sub-grafo de G e contém todos os vértices de G. Se um grafo é desconexo, não podemos identificar nenhuma árvore geradora. Mas podemos identificar no mínimo uma floresta de árvores geradoras, uma para cada componente do grafo. 17
Árvore Geradora 18