Representação de Grafos
CC/EC/Mestrado
Teoria dos Grafos
UFES
Representação de Grafos
• Por diagrama: mais usual e mais fácil de
visualização de aspectos topológicos
– Percursos em grafos, adjacências, etc.
• Percepção de propriedades pode ser facilitada
ou dificultada de acordo com o aspecto visual de
um grafo
– Isomorfismos, planaridade
• Representação visual: não adequada para o
computador
– Como armazenar a estrutura de um grafo?
CC/EC/Mestrado
Teoria dos Grafos
UFES
Representações mais usuais
• Lista de adjacência ou dicionário
– Simples
– Lista de listas de vértices
– Cada lista: formada por um vértice e seus
adjacentes
– Adequada na representação de grafos
esparsos
– Ineficiente na busca de uma aresta no grafo
CC/EC/Mestrado
Teoria dos Grafos
UFES
Lista de adjacência - exemplo
1
2
3
4
a
c
b
d
e
4
•
4
4
•
3
3
•
1
1
2
2
1
3
3
2
4
1
a
b
c
b
a
c
c
a
b
d
b
c
e
a
•
c
•
e
•
d
d
•
•
•
e
•
•
•
E se for um digrafo?
CC/EC/Mestrado
Teoria dos Grafos
UFES
Lista de adjacência
• A lista associada a um vértice pode ser
vazia.
• Em grafos não orientados, pode-se evitar
a repetição na representação de arestas
adotando-se algum critério de ordenação.
CC/EC/Mestrado
Teoria dos Grafos
UFES
Matriz de Adjacência
• Seja G = (V,E)
• A = (aij), 1 ≤ i,j ≤ n
• aij = 1, quando {i,j}  E
0, caso contrário
CC/EC/Mestrado
Teoria dos Grafos
UFES
Matriz de Adjacência
a
a
b
c
d
e
a
0
1
1
0
1
b
1
0
1
1
0
c
1
1
0
1
1
d
0
1
1
0
0
e
1
0
1
0
0
c
b
d
e
CC/EC/Mestrado
Teoria dos Grafos
UFES
Matriz de Adjacência
a
a
b
c
d
e
a
0
1
1
0
1
b
1
0
1
1
0
c
1
1
0
1
1
d
0
1
1
0
0
e
1
0
1
0
0
c
b
d
e
CC/EC/Mestrado
Teoria dos Grafos
UFES
Matriz de Adjacência
Diagonal principal nula: grafos sem laços
grafo não orientado
Matriz simétrica:
Número de 1´s na matriz = 2m (grafo
simples)
Valores nulos: ausência de arestas
Valores não nulos: presença de arestas ou
arcos
CC/EC/Mestrado
Teoria dos Grafos
UFES
Matriz de Incidência
• Seja G = (V,E)
• B = (bkl), 1 ≤ k ≤ n, 1 ≤ l ≤ m
• bkl = 1, quando o vértice k é incidente à
aresta l
0, caso contrário
CC/EC/Mestrado
Teoria dos Grafos
UFES
Matriz de Incidência
{a,b} {a,c} {a,e} {b,c} {b,d} {c,d} {c,e}
a
c
b
d
e
CC/EC/Mestrado
a
1
1
1
0
0
0
0
b
1
0
0
1
1
0
0
c
0
1
0
1
0
1
1
d
0
0
0
0
1
1
0
e
0
0
1
0
0
0
1
Teoria dos Grafos
UFES
Matriz de Incidência
•
•
•
•
•
•
•
Matriz esparsa de dimensão nxm
Exige muito espaço de armazenamento
Número de 1´s na matriz = 2m
Representa exatamente um grafo
Cada linha corresponde a um vértice
Cada coluna corresponde a uma aresta
Mais utilizada para representação de
hipergrafos e programação inteira
envolvendo estruturas de grafos
CC/EC/Mestrado
Teoria dos Grafos
UFES
Questão
• Qual das representações computacionais
de um grafo é a mais adequada?
CC/EC/Mestrado
Teoria dos Grafos
UFES
Exercícios
•
•
Considere o grafo G e construa:
a
c
b
–
sua lista de adjacência
–
sua matriz A de adjacência
–
sua matriz B de incidência
–
Calcule:
• O produto A2. O que significam os números na
diagonal?
• O produto B.Bt.O que significam os números na
diagonal? E fora da diagonal?
d
Existe relação entre a matriz de adjacência de um grafo G e a
matriz de adjacência do seu grafo complementar G?
CC/EC/Mestrado
Teoria dos Grafos
UFES
Percursos em um grafo
UFES
Definição
• Um percurso ou cadeia é uma seqüência
de arestas sucessivamente adjacentes,
cada uma tendo uma extremidade
adjacente à anterior e a outra a
subsequente (à exceção da primeira e da
última)
– Percurso fechado: a última aresta da
sucessão é adjacente a primeira;
– Percurso aberto: caso contrário
UFES
Notação
• A sucessão é indicada por:
– Vértices
– Arestas
– Vértices e arestas alternados
UFES
Exemplo
G
a
c
e
b
d
UFES
Comprimento de um percurso
• Número de arestas por ele utilizado
(incluindo repetições)
• O que é o comprimento de um percurso
em um grafo valorado?
UFES
Tipos de percurso
• Simples: não repete arestas
• Elementar: não repete vértices nem
arestas (caminho)
• Ciclo: percurso simples e fechado
• Ciclo elementar: só há repetição do último
vértice
• Uma corda é uma aresta que une dois
vértices não consecutivos de um ciclo
UFES
Percurso abrangente
• Um percurso é abrangente a um dos
conjuntos do grafo quando utiliza todos os
elementos desse conjunto ao menos uma
vez
• Euleriano
• Hamiltoniano
UFES
Exercícios
• Indique percursos simples e não simples em G1
• Indique percursos elementares em G2
• Todo percurso elementar é simples. Todo percurso simples é
elementar? Explique.
• Indique um ciclo em G1 e um ciclo elementar em G2
• Indique um caminho de comprimento 4 em G2 e um percurso de
comprimento 6 em G2
G1
b
d
a
c
a
d
b
c
e
G22
e
UFES
Download

UFES - claudiaboeres