3. Definição Informal
• Um grafo é um conjunto finito não-vazio
de nós (ou vértices) e um conjunto
finito de arcos (ou arestas) tais que cada
arco conecta dois nós.
4. Exemplo
• Um grafo com 5 nós e 6 arestas
‣ A aresta a1 conecta os nós 1 e 2
1 3 4
2
5
a1
a2
a3
a4
a5 a6
5. Definição Formal
• Um grafo é uma tripla ordenada (N, A, g),
onde
‣ N é um conjunto não-vazio de nós (ou vértices)
‣ A é um conjunto de arcos (ou arestas)
‣ g é uma função que associa a cada arco um par
não-ordenado x-y de nós, chamados de
extremidades do arco.
7. Exercício
• Esboce o grafo G = (N,A, g), com
‣ N = {1, 2, 3, 4, 5}
‣ A = {a1, a2, a3, a4, a5, a6}
‣ g(a1) = 1-2;
g(a2) = 1-3;
g(a3) = 3-4;
g(a4) = 3-4;
g(a5) = 4-5;
g(a6) = 5-5;
8. Grafo Direcionado
• Um grafo direcionado (dígrafo) é uma tripla
ordenada (N, A, g), onde
‣ N é um conjunto não-vazio de nós
‣ A é um conjunto de arestas
‣ g é uma função que associa a cada arco um par
ordenado (x, y) de nós, onde x é a extremidade
inicial e y é a extremidade final do arco.
10. Outros Tipos de Grafos
• Grafo Rotulado
‣ identificadores (rótulos) associados aos nós
• Grafo com Pesos
‣ valor numérico (peso) associado às arestas
11. Aplicações
• Grafos podem ser usados para modelar
problemas em diversas áreas:
‣ redes de comunicação
‣ malhas viárias
‣ redes de distribuição de serviços e produtos
‣ diagramas de fluxo
‣ ...
14. Terminologia
• Dois nós são adjacentes, se ambos são as
extremidades de uma aresta.
• Um laço em um grafo é uma aresta com
extremidades n-n (para algum nó n).
• Duas arestas com as mesmas extremidades
são denominadas arestas paralelas.
• Um grafo simples é um grafo sem laços e sem
arestas paralelas.
15. Grafo Completo
• Um grafo completo é um grafo no qual
quaisquer dois nós distintos são adjacentes.
‣ O grafo simples completo com n nós é denotado
por kn.
k5 k6
16. Subgrafo
• Um subgrafo de um grafo consiste em um
conjunto de nós e um conjunto de arestas que
são subconjuntos do conjunto original de nós
e de arestas, respectivamente.
• Exemplo: H é um subgrafo do grafo G.
1 3 4
2
5
a1
a2
a3
a4
a5 a6 1 3
2
a4
a5
HG
17. Caminho em um Grafo
• Um caminho do nó n0 para o nó nk é uma
seqüência n0, a0, n1, a1, ... , nk-1, ak-1, nk de nós e
arestas onde, para cada i, as extremidades da
aresta ai são ni-ni+1.
‣ Exemplo: um caminho do nó 1 para o nó 4 em G
consiste na seqüência 1, a1, 2, a4, 3, a6, 4
1 3 4
2
5
a1
a2
a3
a4
a5 a6
G
O comprimento de um
caminho é o número de
arestas que ele contém.
18. Ciclo
• Um ciclo é um caminho de um nó n para ele
mesmo tal que nenhum arco aparece mais de
uma vez.
‣ Um grafo sem ciclos é denominado acíclico.
1 2
3
4
5
6
a
b
c
d
e
f
g
h
i
j
G
O caminho 3, g, 6, j, 5, h, 3
é um ciclo em G.
19. Terminologia
• Um nó isolado é um nó que não é adjacente a
nenhum outro.
• O grau de um nó é o número de
extremidades de arestas naquele nó.
• Um grafo conexo é um grafo no qual existe
um caminho de qualquer nó para qualquer
outro.
20. Grafo Bipartido Completo
• Um grafo é bipartido completo se seus nós
podem ser divididos em dois conjuntos
disjuntos não-vazios N1 e N2, tal que dois nós
são adjacente se, e somente se, um deles
pertence a N1 e o outro a N2.
‣ Se | N1 | = m e | N2 | = n, o tal grafo é denotado
por Km,n.
K2,3
1
2 3
4
5
21. Exercícios
1. Desenho o grafo k4.
2. Desenhe o grafo k3,3.
3. Desenhe um grafo conexo que não é
completo.
4. Todo grafo acíclico é simples? E todo grafo
símples, é acíclico?
22. Grafos Isomorfos
• Dois grafos podem parecer diferentes em sua
representação visual, mas ainda assim serem o
mesmo grafo segundo a definição formal.
‣ O importante é saber distinguir entre dois grafos
que têm estruturas fundamentais diferentes.
23. • Os grafos G e H a seguir são iguais
‣ mesmos nós e arestas
‣ mesma função que associa as extremidades a cada
aresta
1
3
a1
4
2
a2
1
3
a1
4
2
a2
G H
24. • Duas estruturas que são essencialmente
iguais, são denominadas isomorfas.
• Para mostrar que duas estruturas são
isomorfas, precisamos:
‣ obter uma bijeção entre os elementos das duas
estruturas
‣ mostrar que as suas propriedades fundamentais são
preservadas
• No caso de grafos, os elementos são os nós e
arestas e a propriedade fundamental é “quais
arestas conectam quais nós” (adjacência).
25. • Os grafos G e I são, essencialmente, o mesmo
grafo, considerando as bijeções:
‣ s (entre os nós)
‣ t (entre as arestas)
1
3
a1
4
2
a2
a b
e1
dc
e2
G I
s(1) = a
s(2) = c
s(3) = b
s(4) = d
t(a1) = e2
t(a2) = e1
Ex. a1 => 1-3 → t(a1) => s(1)-s(3)
26. Definição
• Dois grafos (N1,A1, g1) e (N2,A2, g2) são
isomorfos, se existem bijeções f1: N1→N2
e f2:A1→A2 tais que, para cada arco a ∈ A1,
g1(a) = x-y g2(f2(a)) = f1(x)-f1(y).
27. Exemplo
• Os grafos G e H a seguir são isomorfos? Caso
sejam, apresente as bijeções que estabelecem
o isomorfismo.
G H
28. Teorema
• Dois grafos simples (N1,A1, g1) e (N2,A2, g2)
são isomorfos, se existe uma bijeção f: N1→N2
tal que, ∀ x, y ∈ N1, x e y são adjacentes se, e
somente se, f(x) e f(y) são adjacentes.
30. • Condições nas quais dois grafos não são
isomorfos.
‣ um grafo tem mais nós que o outro;
‣ um grafo tem mais arestas que o outro;
‣ um grafo tem arcos paralelos, um laço, ou um ciclo
e o outro não;
‣ um grafo tem um nó de grau k e o outro não;
‣ um grafo é conexo e o outro não;
‣ etc.
33. • Grafos isomorfos são estruturalmente
iguais, independentemente das diferenças
na representação gráfica.
• Grafos não isomorfos têm diferenças
estruturais.
34. Grafos Planares
• Um grafo planar é um grafo que pode ser
representado em um plano de modo que suas
arestas não se interceptem (exceto em
extremidades).
• Aplicação
‣ projeto de circuitos integrados (evitar cruzamento
das conexões entre componentes em uma camada
do chip)
36. K5 não é planar.
1
2
34
5
K3,3 não é planar.
1
2 3
4
5
6
37. Teorema
• Para um grafo planar simples e conexo com
n nós e a arestas:
‣ se a representação planar divide o plano em r
regiões, então n - a + r = 2 (fórmula de Euler);
‣ se n ≥ 3, então a ≤ 3n - 6;
‣ se n ≥ 3 e não existem ciclos de comprimento 3,
então a ≤ 2n - 4.
38. Grafos Homeomorfos
• Dois grafos são ditos homeomorfos se
ambos podem ser obtidos do mesmo grafo
por uma seqüência de subdivisões
elementares, nas quais um único arco x-y é
substituído por dois novos arcos x-v e v-y.
43. Definição
• Uma árvore é um grafo conexo e acíclico
com um nó especial denominado raiz.
‣ um grafo conexo acíclico sem uma raiz
especificada é chamado de árvore livre.
A1 A2 A3
44. Definição Recorrente
• Um único nó é uma árvore
‣ a raiz é o próprio nó
• Se A1,A2, ... ,An são árvores com
raízes r1, r2, ..., rn, o grafo formando
conectando-se a um nó r cada um
dos nós r1, r2, ..., rn é uma nova árvore
com raiz r.
46. r
a
c d
b
e
• Se r é raiz da árvore, então:
‣ o nó r é pai dos nós a e b;
‣ os nós a e b são filhos de r;
‣ os nós c e d são filhos de a.
47. Terminologia
• Existe um único caminho da raiz para
qualquer nó da árvore.
• Uma árvore com n nós possui n-1 arestas.
• A profundidade de um nó é o comprimento
do caminho da raiz até esse nó.
• A altura de uma árvore é a maior
profundidade dos nós da árvore.
48. Terminologia
• Um nó sem filhos é chamado de folha.
• Floresta é um grafo acíclico (uma coleção de
árvores disjuntas).
• Uma árvore binária é uma árvore na qual
cada nó tem, no máximo, dois filhos.
• Uma árvore binária cheia é aquela na qual
todos os nós internos têm dois filhos e todas
as folhas estão na mesma profundidade.
51. Aplicações
• Árvores de decisão;
• Árvore genealógica;
• Fluxo organizacional (hierarquia em uma
empresa);
• Estrutura de arquivos e diretórios em um
computador;
• ...
55. Percursos em Árvores
• Percorrer uma árvore significar visitar
todos os seu nós
• Considerando árvores binárias, temos as
seguintes estratégias de percurso:
‣ Pré-ordem (raiz, esquerda, direita)
‣ Ordem simétrica (esquerda, raiz, direita)
‣ Pós-ordem (esquerda, direita, raiz)
56. Exemplo
• Pré-ordem (raiz, esquerda, direita)
‣ a, b, d, e, c, f, h, i, g
• Ordem simétrica (esquerda, raiz, direita)
‣ d, b, e, a, h, f, i, c, g
• Pós-ordem (esquerda, direita, raiz)
‣ d, e, b, h, i, f, g, c, a
a
b
d e
h i
f
c
g