grafos e algoritmos - apresentação [joão araujo]06_-_grafos_e...exercÍcios – teoria de grafos...

52
GRAFOS E ALGORITMOS GRAFOS E ALGORITMOS TEORIA DE GRAFOS TEORIA DE GRAFOS 1a. PARTE 1a. PARTE Prof. Ronaldo R. Goldschmidt [email protected] [email protected]

Upload: others

Post on 28-Feb-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

GRAFOS E ALGORITMOSGRAFOS E ALGORITMOS

TEORIA DE GRAFOS TEORIA DE GRAFOS

1a. PARTE1a. PARTE

Prof. Ronaldo R. [email protected]

[email protected]

Page 2: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

ROTEIRO

1. INTRODUÇÃO E MOTIVAÇÃO

2. FUNDAMENTOS

3. CONECTIVIDADE

4. GRAFOS EULERIANOS

5. GRAFOS HAMILTONIANOS

6. PLANARIDADE

7. DIGRAFOS

Page 3: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

ROTEIRO

1. INTRODUÇÃO E MOTIVAÇÃO

2. FUNDAMENTOS

3. CONECTIVIDADE

4. GRAFOS EULERIANOS

5. GRAFOS HAMILTONIANOS

6. PLANARIDADE

7. DIGRAFOS

Page 4: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

1. INTRODUÇÃO E MOTIVAÇÃO

Um grafo é um conjunto de pontos (vértices) e um conjunto de linhas (arestas) que ligam estes pontos.

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

Page 5: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

1. INTRODUÇÃO E MOTIVAÇÃO

São muitas as aplicações de grafos em problemas práticos:

Definição de Rotas

Page 6: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

1. INTRODUÇÃO E MOTIVAÇÃO

São muitas as aplicações de grafos em problemas práticos:

Modelagem de Circuitos Lógicos

Page 7: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

1. INTRODUÇÃO E MOTIVAÇÃO

São muitas as aplicações de grafos em problemas práticos:

Modelagem de Sistemas

Page 8: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

1. INTRODUÇÃO E MOTIVAÇÃO

São muitas as aplicações de grafos em problemas práticos:

Planejamento e Gerenciamento de Projetos

Tarefa 1

Tarefa 2 Tarefa 3

Tarefa 4

Page 9: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

1. INTRODUÇÃO E MOTIVAÇÃO

São muitas as aplicações de grafos em problemas práticos:

Espeificação de Máquinas de Estados

Page 10: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

ROTEIRO

1. INTRODUÇÃO E MOTIVAÇÃO

2. FUNDAMENTOS

3. CONECTIVIDADE

4. GRAFOS EULERIANOS

5. GRAFOS HAMILTONIANOS

6. PLANARIDADE

7. DIGRAFOS

Page 11: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo G é uma tripla (V(G), E(G), G), onde V(G)

conjunto não vazio de vértices, E(G) conjunto de arestas e G

função de incidência que associa a cada aresta de G um par não ordenado de vértices de G.

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

V(G) = {v1, v2, v3, v4, v5} E(G) = {e1, e2, e3, e4, e5, e6, e7, e8}

Page 12: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

V(G) = {v1, v2, v3, v4, v5} E(G) = {e1, e2, e3, e4, e5, e6, e7, e8}

G(e1) = v1v2; G(e2) = v2v3; G(e3) = v3v3; G(e4) = v3v4;

G(e5) = v2v4; G(e6) = v4v5; G(e7) = v2v5; G(e8) = v2v5.

Page 13: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo G é planar se admite uma representação plana (não há cruzamento de arestas).

Representação não planar, mas o grafo é planar.

Exemplo:

Page 14: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Uma aresta é incidente aos dois vértices em seus extremos.

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

A aresta e1 é incidente em v1 e v2

Page 15: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Dois vértices incidentes a uma aresta comum são chamados de vértices adjacentes.

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

Os vértices v1 e v2 são adjacentes pois possuem uma aresta comum:

e1

Page 16: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Duas arestas incidentes a um vértice comum são chamadas de arestas adjacentes.

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

As arestas e1, e5, e2, e7, e8 são adjacentes pois possuem um vértice

comum: v2

Page 17: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Uma aresta que liga um vértice a ele mesmo é chamada de loop.

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

A aresta e3 é um loop pois liga v3 a ele mesmo.

Page 18: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Duas arestas com vértices incidente idênticos são chamadas de arestas paralelas.

e1v2

v3

v5v4

v1

e3

e2 e7

e8

e5

e6

e4Exemplo:

As arestas e7 e e8 são arestas paralelas pois ambas incidem em v2 e

v5.

Page 19: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo que não possui loops e nem arestas paralelas é chamado de grafo simples.

ve1

2

v3

v5v4

v1 e2 e7e5

e6

e4Exemplo:

Page 20: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Representação de Grafos – Matriz de Incidência

Seja G um grafo com n vértices e m arestas. In m é a matriz de

incidência de G tal que cada elemento (i,j) de I denota o número de vezes que vi e ej são incidentes.

e1

v1 v2

v3v4

e2

e3

e4

e5

e6

e7

v1

v2

v3

v4

e1 e2 e3 e4 e5 e6 e7

1

1

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

0

0

1

0

0

0

2

1

0

1

0

Page 21: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Representação de Grafos – Matriz de Adjacência

Seja G um grafo com n vértices e m arestas. An n é a matriz de

adjacência de G tal que cada elemento (i,j) de A denota o número de arestas que unem vi e vj.

e1

v1 v2

v3v4

e2

e3

e4

e5

e6

e7

v1

v2

v3

v4

v1 v2 v3 v4

1

1

1

1

1

1

1

0

1

1

1

0

0

1

1

0

2

2

0

1

Page 22: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo é completo se para cada par de vértices, existir somente uma aresta que os una. Notação: Kn

Exemplo de grafo completo: K4

Page 23: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo é chamado bipartido (bipartite) se o seu conjunto de vértices puder ser particionado em dois subconjuntos X e Y, tal que cada aresta tenha uma extremidade em X e a outra em Y.

Exemplo de grafo bipartido:

Page 24: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo é chamado bipartido completo se ele for bipartido e se todos os vértices de X estiverem ligados a todos os vértices de Y (por meio de uma única aresta para cada par de vértices). Notação: Kn,m

Exemplo de grafo bipartido completo: K2,2

Page 25: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Verifique se os grafos abaixo são: a) bipartidos; b) completos

Bipartido Completo: K1,1

Bipartido não completo

Bipartido Completo: K2,3

Page 26: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Verifique se os grafos abaixo são: a) bipartidos; b) completos

Bipartido Completo: K2,5

a

b

c

d

e

fg

a

b

c

d

e f g

Page 27: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Verifique se os grafos abaixo são: a) bipartidos; b) completos

Não é Bipartido

a

b

c

d

e

fg

Page 28: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Outras Definições:

Vértice Nó Nodo

Grafo Rotulado:

Aresta Arco Conexão

Page 29: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Dois grafos G e H são idênticos (G=H) se V(G)=V(H) e E(G)=E(H)

a

b

c

d

e

fg

a

b

c

d

e f gG: H:

G e H são idênticos, embora possuam representações diferentes

Page 30: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Dois grafos G e H são isomorfos (GH) se existirem duas funções f: V(G) V(H) e g: E(G) E(H), ambas bijetoras tais que: se a aresta uv E(G), então f(u)f(v) E(H) para todo par de vértices de G e H.

G e H não são idênticos (vértices diferentes). Eles são isomorfos?

v3

G:

v4

v2

v1

v5

H:

a

b

c

d e

Page 31: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

G e H são distintos (vértices diferentes), mas são isomorfos.

v3

G:

v4

v2

v1

v5

H:

a

b

c

d e

f(v3)=cf(v2)=df(v5)=a

f(v1)=ef(v4)=b

g(v3v3)=f(v3)f(v3)=ccg(v2v5)=f(v2)f(v5)=dag(v2v3)=f(v2)f(v3)=dc

g(v3v4)=f(v3)f(v4)=cbg(v4v5)=f(v4)f(v5)=bag(v1v2)=f(v1)f(v2)=edg(v2v4)=f(v2)f(v4)=db

Page 32: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo H é um subgrafo de G se V(H) V(G) e E(H) E(G). H é um subgrafo próprio de G se H for um subgrafo de G e HG.

G e H são idênticos. H é subgrafo de G e G é subgrafo de H.

v3

G:

v4

v2

v1

v5

v3

H:

v4

v2

v1

v5

Page 33: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo H é um subgrafo de G se V(H) V(G) e E(H) E(G). H é um subgrafo próprio de G se H for um subgrafo de G e HG.

H é subgrafo próprio de G.

v3

G:

v4

v2

v1

v5

v3

H:

v4

v2

v1 v5

Page 34: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Um grafo H é um subgrafo de G se V(H) V(G) e E(H) E(G). H é um subgrafo próprio de G se H for um subgrafo de G e HG.

H não é subgrafo de G.

v3

G:

v4

v2

v1

v5

v3

H:

v4

v2

v1 v5

Page 35: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Seja H um subgrafo de G. Se V(H) = V(G) então H é chamado subgrafo gerador de G.

G e H são idênticos. H é subgrafo gerador de G e vice-versa.

v3

G:

v4

v2

v1

v5

v3

H:

v4

v2

v1

v5

Page 36: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Seja H um subgrafo de G. Se V(H) = V(G) então H é chamado subgrafo gerador de G.

H é subgrafo gerador de G.

v3

G:

v4

v2

v1

v5

v3

H:

v4

v2

v1 v5

Page 37: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Seja H um subgrafo de G. Se V(H) = V(G) então H é chamado subgrafo gerador de G.

H é subgrafo de G, mas H não é subgrafo gerador de G.

v3

G:

v4

v2

v1

v5

v3

H:

v4

v2

v5

Page 38: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Def: Grau de um vértice v é o número de arestas incidentes em v. Notação: dG(v)

dG(v1) = 1; dG(v2) = 5; dG(v3) = 4; dG(v4) = 3; dG(v5) = 3

v3

G:

v4

v2

v1

v5

Page 39: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

n = 8 2n=16: dG(v1) + dG(v2) + dG(v3) + dG(v4) + dG(v5) = 16

v3

G:

v4

v2

v1

v5

Teorema:

Onde n é o número de arestas.

)(

2)(GVv

G nvd

Page 40: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Demonstração:

Cada aresta contribui com grau 2 (um grau em cada vértice que ela une).

Assim, o somatório dos graus do grafo é 2n.

Teorema:

Onde n é o número de arestas.

)(

2)(GVv

G nvd

Page 41: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

2. FUNDAMENTOS

Demonstração:

Teorema: Em todo grafo o número de vértices com grau ímpar é par.

Page 42: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices), faça um algoritmo que verifique se este grafo possui loops.

Função testa_loops()Para i variando de 1 até n faça

se AG[i,i] = 1 então

retorne Verdade;fim-se;

fim-pararetorna (Falso)Fim testa_loops

Page 43: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex2: Conhecendo a matriz de adjacência de um grafo (com n vértices), faça um algoritmo que verifique se este grafo possui arestas paralelas.

paralelas := não;para i:= 1 até n

para j:= 1 até nse AG[i,j] 2 então

paralelas := sim; i:=n; j:=n;fim-se;

fim-parafim-pararetorna (paralelas);

Page 44: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex3: Conhecendo a matriz de adjacência de um grafo (com n vértices), faça um algoritmo que verifique se este é um grafo simples.

Page 45: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex4: Conhecendo a matriz de incidência de um grafo (com n vértices e m arestas), faça um algoritmo que verifique se este grafo possui loops.

loops := não;para i:= 1 até n

para j:= 1 até mse IG[i,j] = 2 então

loops := sim; i:=n; j:=n;fim-se;

fim-parafim-pararetorna (loops);

Page 46: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex5: Conhecendo a matriz de incidência de um grafo (com n vértices e m arestas), faça um algoritmo que verifique se este grafo possui arestas paralelas.

Page 47: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex6: Conhecendo a matriz de incidência de um grafo (com n vértices e m arestas), faça um algoritmo que verifique se este é um grafo simples.

Page 48: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex7: Conhecendo as matrizes de adjacência de dois grafos G (com n vértices) e H (com m vértices), faça um algoritmo que verifique se estes grafos são idênticos.

Page 49: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex8: Verifique se são isomorfos os grafos abaixo:

v3

v4

v2

v1

v5

v1 v2

v3v4

v5

a)

Page 50: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex8: Verifique se são isomorfos os grafos abaixo:

ce

b

a

d

v1 v2

v3v4

v5

b)

Page 51: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex8: Verifique se são isomorfos os grafos abaixo:

ce

b

a

d

v1 v2

v3v4

c)

Page 52: GRAFOS E ALGORITMOS - Apresentação [João Araujo]06_-_grafos_e...EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE Ex1: Conhecendo a matriz de adjacência de um grafo (com n vértices),

EXERCÍCIOS – TEORIA DE GRAFOS – 1a. PARTE

Ex8: Verifique se são isomorfos os grafos abaixo:

d)

v1

v2

v3

v4

v5

v6

v7 a

b

c

d

e f g