introdução a algoritmos em grafos

Post on 29-Jan-2016

30 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introdução a Algoritmos em Grafos. Grafos - Definição. Grafo é um modelo matemático que representa relações entre objetos. Exemplos Estradas que ligam as cidades de uma região. Esquema de uma rede internet. Um grafo G(V,E) é um conjunto finito V (vértices) - PowerPoint PPT Presentation

TRANSCRIPT

katiag@cin.ufpe.br 1

Introdução a Algoritmos em Grafos

katiag@cin.ufpe.br 2

Grafos - Definição

Grafo é um modelo matemático que representa

relações entre objetos.

Exemplos

1. Estradas que ligam as cidades de uma região.

2. Esquema de uma rede internet

katiag@cin.ufpe.br 3

Um grafo G(V,E) é um conjunto finito V (vértices)e um conjunto E (arestas) de pares não-ordenados e elementos distintos de V.

Cada aresta e E será denotada pelo par de vértices e = (v,w) que a forma. Os vértices v,w são os extremos (ou extremidades) da aresta e, sendo v e w ditos adjacentes.

katiag@cin.ufpe.br 4

Grafos - Definição

Um grafo pode representar, por exemplo, um conjunto de cidades e as ligações aéreas entre elas.

RecMan

BSB

Sal

Rio

SAO

katiag@cin.ufpe.br5

Grafos - Variações

• Arestas direcionadas, ou múltiplas. Alguns vértices podem ser isolados.

RecMan

BSB

Sal

Rio

SAO

katiag@cin.ufpe.br 6

Grafos - Variações

Arestas (ou vértices) com pesos.

RecMan

BSB

Rio

SAO

450

480470

380

395

240

255

430

katia@cin.ufpe.br 7

Grafos - Representação Interna

1. Matriz de adjacências – custo O(n2)

32

1

5

4

6

1 2 3 4 5 61 0 1 1 1 0 12 1 0 0 0 0 03 1 0 0 1 1 14 1 0 1 0 1 15 0 0 1 1 0 06 1 0 1 1 0 0

katia@cin.ufpe.br 8

Grafos - Representação Interna

2. Listas de Adjacências - custo O(n + m)

RecMan

BSB

Sal

Rio

SAO

BSBManRecRioSalSAO

Rec Man

BSB

Sal Rio

SAO Rio

Sal BSB

RecBSB

Rio

Rio

Rec

SAO

BSB SAO

Rec

katia@cin.ufpe.br 9

Grafos - Representação Interna

• Listas de Adjacências

RecMan

BSB

Rio

SAO

450

480470

380

395

240

255

430

BSBManRecRioSAO

SAO, 380 Man, 450

Rec, 470 SAO, 240

Rio, 255

Rio, 430

BSB, 480

BSB, 395

katia@cin.ufpe.br 10

Grafos - Mais Definições

• Caminho: 3, 1, 2, 1, 3 (Rec, BSB, Man, BSB, Rec)

32

15

4

6

Caminho simples : 2, 1, 4, 6

Caminho fechado (simples) ouCiclo: 3, 6, 1, 3

Em grafos não direcionados, um ciclo tem pelo menos 3 arestas.

katia@cin.ufpe.br 11

Um caminho de k vértices é formado por (k – 1) arestas (v1,v2),(v2,v3),...,(vk-1,vk). O valor (k – 1) é o comprimento do caminho .

A distância d(v,w) entre dois vértices v,w é o comprimentodo menor caminho entre v e w.

Em um grafo G(V,E), define-se grau de um vértice v V,denotado por grau(v), como o número de vértices adjacentesa v.

katia@cin.ufpe.br 12

Subgrafos

Um subgrafo G’(V’, E’) de G(V, E) é um grafo tal que: V’ V e E’ E (V’ x V’)

Se E’ = E (V’ x V’) então dizemos que G’ é um subgrafo induzido por V’. (V’ induz G’)

Se V’ = V dizemos que G’ é um subgrafo gerador.

katia@cin.ufpe.br 13

Grafos Conexos

Grafos Conexos são grafos onde existe um caminho de um vértice para qualquer outro.

Seja S um conjunto e S’ S. Diz-se que S’ é maximal

em relação a uma certa propriedade P, quando S’ satisfaz P e

não existe subconjunto S’’ S’, que também satisfaz P.

Componentes conexos são subgrafos conexos maximais.

katia@cin.ufpe.br 14

Árvores

• Árvores são grafos conexos e acíclicos, isto é, sem ciclos.

• Árvores são grafos (simples) conexos com n-1 arestas.

• Árvores são grafos conexos minimais.

katia@cin.ufpe.br 15

Busca em Grafos

• OBJETIVO: Visitar todos os vértices de forma sistemática.

• Se o grafo é uma árvore, a tarefa é simples:– Busca em pré-ordem– Busca em pós-ordem– Busca em in-ordem (árvores binárias)– Busca por nível

top related