Você está na página 1de 15

Pontifícia Universidade Católica de Minas Gerais

Departamento de Ciência da Computação

Aula 06

Árvores
Árvores Geradoras Mínimas

Raquel Mini
(raquelmini@pucminas.br)

1
Árvore

• Árvore é um grafo conexo que não


contém circuitos.
• TEOREMA 1: Em uma árvore existe
um e apenas um caminho entre cada
par de vértices.
• TEOREMA 2: Se em um grafo G,
existe um único caminho entre
qualquer par de vértices, então G é
uma árvore.
• TEOREMA 3: Uma árvore com n
vértices tem n-1 arestas

2
Árvore

• TEOREMAS
– Todo grafo conexo com n vértices e
n-1 arestas é uma árvore
– Um grafo G é uma árvore se, e
somente se, a remoção de qualquer
aresta o desconectar (grafo
minimamente conectado).
– Um grafo G com n vértices, n-1
arestas e nenhum circuito é conexo

3
Árvore

• 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

• Em qualquer árvore com pelo menos 2


vértices existem pelo menos 2 vértices
pendentes

4
Árvore

• Em um grafo G, a distância d entre um par


de vértices v1 e v2 corresponde ao número
de arestas no menor caminho que une v1
a v2
• A excentricidade de um vértice v em um
grafo conexo G é a distância de v ao
vértice mais distante
E(v)  max d(v, vi)
vi  V

5
Centro de uma Árvore

• O centro de um grafo G é o vértice de


menor excentricidade

3 3
2 2

3 3
 Quantos centros podem ter um grafo?
 Quantos centros possui um grafo que
é um circuito?
 Quantos centros podem ter uma
árvore

6
Centro de uma Árvore

• TEOREMA: Toda árvore tem


exatamente 1 ou 2 centros
• COLORÁRIO: Se uma árvore tem 2
centros, então estes centros são
adjacentes

• Raio de um árvore é a excentricidade do


centro
• Diâmetro de uma árvore é o
comprimento do maior caminho em T

7
Árvore Geradora

• Uma árvore geradora de um grafo


conexo G é um subgrafo de G que
contém todos os vértices de G e é uma
árvore
• Árvore geradora só é definida para
grafos conexo porque toda árvore é
conexa. Grafos não conexo possuem
florestas geradoras

8
Árvore Geradora

• Dado um grafo G e uma árvore geradora


T de G, define-se:
Galho: um aresta de G em T
Corda: uma aresta de G que não
pertence a T
• TEOREMAS:
– Todo grafo conexo G tem uma árvore
geradora
– Dado um grafo conexo G com n vértices,
e arestas e uma árvore geradora T de G,
G tem n-1 galhos e e-n+1 cordas

9
Árvore Geradora

• Exemplo: Um fazendeiro possui 6 lotes


murados como mostrado na figura
abaixo. Os lotes estão cheios de água.
Quantos muros devem ser removidos
para que toda a água seja liberada?

10
Árvore Geradora

• Definições:
Rank de G: número de galhos em
qualquer floresta geradora de G
r = n-k
Nulidade de G: número de cordas em
qualquer floresta geradora de G
 = e-n+k

Rank + Nulidade = número de arestas

11
Árvore Geradora Mínima

• Árvore Geradora Mínima é a árvore


geradora de menor peso de G
• Problema: Dado um grafo G com pesos
associados às arestas, encontrar uma
árvore geradora mínima de G

• Exemplo: Devemos conectar n cidades


v1,v2,...,vn através de uma rede de
estradas. Seja cij o custo de construir
uma estrada entre as cidades vi e vj. O
problema é então encontrar a rede que
minimiza o custo para conectar as n
cidades.

12
Árvore Geradora

• Exemplo: Um pomar com 10 pés de


frutas deve ser irrigado.

• Cada cano entre duas árvores tem um


custo proporcional ao comprimento do
cano e à dificuldade e implantação
• Como encontrar o sistema de irrigação
que minimiza o custo de implantação?

13
Algoritmos para Árvore
Geradora Mínima
• Algoritmo de Prim
Construa a matriz de adjacências M de G
com pesos nas arestas
Escolha um vértice vi qualquer e o
insira em T
Elimine a linha de vi da matriz M
para i  1 até n-1 faça
Escolha em M a menor aresta(vi,vj)
incidente em um vértice vi em T
Insira vj e a aresta escolhida em T
Elimine a linha vj da matriz M
fim para
a 4 b

3 2 5
1
6 d
c 3
6
e 2
f
14
Algoritmos para Árvore
Geradora Mínima

• Algoritmo de Kruskal
Inicialize T como vazia
para i  1 até n-1 faça
Escolha a menor aresta de G-T que
não cria circuito em T
Insira esta aresta em T
fim para

C
5
B 30
20
5 20 F
A
10
10
10
20 E
D

15

Você também pode gostar