Escolar Documentos
Profissional Documentos
Cultura Documentos
Árvores
Edmilson Marmo Moreira
Universidade Federal de Itajubá - UNIFEI
Instituto de Engenharia de Sistemas e Tecnologia da Informação - IESTI
“A educação é a arma mais poderosa que você pode usar para mudar o mundo”.
Nelson Mandela
1 Considerações Iniciais
Um grafo A é dito uma árvore se A é conexo e não tem ciclos. A figura 1 apresenta
um exemplo de árvore. Uma floresta é um grafo sem ciclos; logo, as componentes conexas
de uma floresta são árvores. Um grafo sem ciclo é dito acı́clico. A árvore que consiste
em um único vértice e nenhuma aresta é dita árvore degenerada.
v1 v2 v3
v4 v5 v6
v7 v8 v9
Considerando uma árvore A, claramente, existe apenas um caminho simples entre dois
vértices de A; caso contrário, os dois caminhos formariam um ciclo. Além disso:
1. Supondo que não existe uma aresta {u, v} em A e se for adicionada a aresta a =
{u, v} a A. Então, o caminho simples de u até v em A mais o vértice a formará um
ciclo; neste caso, A deixará de ser uma árvore.
2. Por outro lado, supondo que existe uma aresta a = {u, v} em A e se esta aresta for
deletada de A, então, A não é mais um grafo conexo (já que não existe um caminho
entre u e v); neste caso, A deixa de ser uma árvore.
1
Teoria dos Grafos - Notas de Aula - Capı́tulo 04 - 2
Teorema 1.1 Toda árvore com ao menos dois vértices tem uma folha.
Demonstração: Seja T uma árvore com ao menos dois vértices e seja P o caminho mais
longo em T . Como T é conexo e contém ao menos dois vértices, P tem dois ou mais
vértices. Supondo, P = v0 ∼ v1 ∼ . . . ∼ vl , onde l ≥ 1. Afirma-se que o primeiro e
o último vértices de P (isto é, v0 e vl ) são folhas de T .
Supondo, por contradição, que v0 não seja folha. Como v0 tem ao menos um vizinho
(v1 ), tem-se que d(v0 ) ≥ 2. Seja x outro vizinho de v0 (isto é, x 6= v1 ). Nota-se que
x não é um vértice em P , pois, em caso contrário, existiria um ciclo:
v0 ∼ v1 ∼ . . . ∼ x ∼ v0 .
Q = x ∼ v0 ∼ v1 ∼ . . . ∼ vl .
Teorema 1.2 Seja G um grafo com v > 1 vértices. Então, as seguintes afirmações são
equivalentes:
1. G é uma árvore.
(1) implica (2): Supondo que G é uma árvore. Então, G é acı́clico, e precisa-se
mostrar apenas que G tem v − 1 arestas. Conforme demonstrado no teorema
1.1, G tem pelo menos dois vértices de grau 1. Deletando-se um destes vértices
e sua respectiva aresta, obtém-se uma árvore A que tem v − 1 vértices. O
teorema vale para A, portanto, A tem v − 2 arestas. Logo, G tem v − 1 arestas.
(2) implica (3): Supondo que G é acı́clico e tem v − 1 arestas. Precisa-se mostrar
apenas que G é conexo. Supondo que G é desconexo e tem k componentes
Teoria dos Grafos - Notas de Aula - Capı́tulo 04 - 3
A1 , A2 , . . . , Ak , que são árvores, uma vez que cada uma é conexa e acı́clica.
Supondo que Ai tem vi vértices. Note que vi < v. Portanto, o teorema vale
para Ai , e logo Ai tem vi − 1 arestas. Portanto, v = v1 + v2 + v3 + . . . + vk e
2 Árvore Geradora
Um subgrafo A de um grafo conexo é uma árvore geradora de G se A é uma árvore
e A inclui todos os vértices de G. A figura 2 mostra um grafo G e as árvores geradores
A1 , A2 e A3 de G.
• • • • • • • • • • • •
• • • • • • • • • • • •
G A1 A2 A3
Supondo que G é um grafo conexo ponderado, ou seja, cada aresta de G está associada
a um número não negativo (peso). Então, qualquer árvore geradora A de G está associada
a um peso total obtido pela soma dos pesos das arestas em A. Uma árvore geradora
minimal de G é uma árvore geradora cujo peso total é o menor possı́vel. Se só existir
uma árvore geradora minimal, ela será mı́nima. Por sua vez, uma árvore geradora
maximal é a árvore geradora de maior custo em G. Da mesma forma, a árvore maximal
será máxima se for única. Os algoritmos a seguir permitem encontrar a árvore geradora
minimal A de um grafo conexo ponderado G, onde G tem v vértices.
Teoria dos Grafos - Notas de Aula - Capı́tulo 04 - 4
Passo 2: Sequencialmente, delete cada aresta que não desconecta o grafo até que restem
v − 1 arestas.
Passo 3: Saia.
O peso de uma árvore minimal geradora é único, mas a árvore, propriamente dita, não
é. Árvores geradoras minimais distintas podem ocorrer quando duas ou mais arestas têm
o mesmo peso. Neste caso, a ordenação das arestas no Passo 1 do algoritmo não é única
e pode, portanto, resultar em diferentes árvores geradoras minimais.
• A ← {i}
• V ← N − {i}
• Amin ← ∅
• i←0
• A = (NA , MA )
Teoria dos Grafos - Notas de Aula - Capı́tulo 04 - 6
• NA ← {j}
• MA ← ∅
• Selecionar a aresta verde (j, k), j ∈ NA tal que djk é mı́nima e colori-la de
azul.
• MA ← MA ∪ (j, k); NA ← NA ∪ {k}
• Para cada aresta (k, z), z 6∈ NA faça:
1. Se não existir aresta verde incidente em z, colorir (k, z) com verde
2. Senão: se existe aresta verde (w, z) tal que dwz > dkz colorir (w, z) com
vermelho e (k, z) com verde
• i←i+1
Da mesma forma que o algoritmo de Prim clássico, esta versão escolhe aleatoriamente
o vértice inicial da árvore geradora. O algoritmo Prim Colorido pode ser implementado
com complexidade O(n2 ).
A figura 4 exemplifica o funcionamento do algoritmo de Prim Colorido, iniciando com
o vértice 1. No primeiro passo, as arestas (1,2) e (1,3) são coloridas de verde. Em seguida,
a menor aresta verde é colorida de azul e inserida na solução. Após esta seleção, o vértice 2
é escolhido para ser examinado e, portanto, as arestas (2,4) e (2,5) são coloridas de verde.
Observe que a aresta (2,3) não é colorida de verde, pois o vértice 3 já possui uma aresta
verde incidente sobre ele. Mas, logo em seguida, a aresta (1,3) é colorida de vermelho, pois
o custo desta aresta é maior que o custo da aresta (2,3) que, por consequência, é colorida
de azul. Em seguida, o vértice 3 é escolhido para ser examinado. Como consequência,
a aresta (3,5) é colorida de verde e a aresta (2,5) é colorida de vermelho. Neste ponto,
existem duas arestas verdes com o mesmo peso. O algoritmo escolhe uma deles, no exemplo
(3,5), e a colore de azul para que ela faça parte da solução. O vértice 5 é escolhido para
ser examinado e a aresta (5,6) é colorida de verde. Em seguida, a aresta (5,4) é colorida
de verde e a aresta (2,4) é colorida de vermelho. Dentre as arestas verdes, a menor (5,4)
é colorida de azul e incluı́da na solução. Finalmente, o vértice 4 é escolhido para exame,
a aresta (4,6) não será colorida, pois já existe uma aresta incidente ao vértice 6 com peso
menor. Neste passo do algoritmo, a aresta (5,6) é colorida de azul, pois é a única aresta
verde. Observe que i = n−1, finalizando a estrutura de repetição e, portanto, o algoritmo.
Teoria dos Grafos - Notas de Aula - Capı́tulo 04 - 7
Passo 3: Saia.
Referências
GERSTING, J. L. Fundamentos Matemáticos Para a Ciência da Computação. 5a. ed.
Rio de Janeiro: Livros Técnicos e Cientı́ficos Editora S.A., 2004. 597 p.
LIPSCHUTZ, S.; LIPSON, M. Teoria e Problemas de Matemática Discreta. 2a. ed. Porto
Alegre: Bookman, 2004. 511 p.
ROSEN, K. H. Discrete Mathematics and Its Applications. 5th. ed. New York: McGraw
Hill, 2005.