Anda di halaman 1dari 22

GRAFOS

Paulo Apolinrio Nogueira



Motivao

Muitas aplicaes em computao necessitam
considerar conjunto de conexes entre pares de
objetos:

Existe um caminho para ir de um objeto a outro seguindo as
conexes?
Qual a menor distncia entre um objeto e outro?
Quantos outros objetos podem ser alcanados a partir de um
determinado objeto?
Grafos so utilizados para modelar tais problemas
So possivelmente as estruturas matemticas mais
utilizadas na cincia.

Algumas Aplicaes
Alguns exemplos de problemas prticos que podem ser
resolvidos atravs de uma modelagem em grafos:
Ajudar mquinas de busca a localizar informao relevante na
Web.
Descobrir qual o roteiro mais curto para visitar as principais
cidades de uma regio turstica.
Dentre diversas outras
Conceito Bsicos Definio

A
C
D
E
B
Exemplo:

DEFINIO FORMAL
Nossos grafos tero sempre um nmero finito de ns e
arcos.

Exemplo


Conceitos Bsicos Terminologia
Dois vrtices em um grafo so ditos adjacentes se
forem os extremos de uma mesma aresta.
Um lao em um grafo uma aresta com extremos n-
n para algum n n;
Duas arestas que tenham os mesmos extremos so
chamadas de arestas paralelas;
Um grafo simples um grafo que no tenha arestas
paralelas nem laos.
Um vrtice isolado no adjacente a qualquer
outro vrtice;
O grau de um vrtice o nmero de arestas que o
tem como ponto extremo.
Um grafo completo aquele no qual todos os
vrtices distintos so adjacentes.


Conceitos Bsicos Subgrafo
Um subgrafo de um grafo consiste em um conjunto
de vrtices e um conjunto de arestas que so
subconjuntos dos conjuntos de vrtices e arestas
originais, respectivamente, nos quais os extremos de
qualquer aresta precisam ser os mesmos que no grafo
original. Em outras palavras, um grafo obtido
apagando-se parte do grafo original e deixando o
restante sem alteraes, as figuras (a) e (b) so
subgrafos do exemplo. Observe que (a) simples e
completo.


Conceitos Bsicos Caminho e Comprimento

Conceitos Bsicos Ciclos


1. Ciclo: (B C D)
2. Os caminhos (B C D),
(C D B) e (D B C) formam
o mesmo ciclo
C B
A D
F
E
1. Ciclo: (A D C B A)
2. Self-loop (lao): (C C)
3. Os caminhos (A D B A),
(D B A D) e (B A D B)
formam o mesmo ciclo
C B
A D
Com relao ao grafo obtido na Atividade 1,
a. Encontre dois vrtices que no sejam adjacentes.
b. Encontre um vrtice que seja adjacente a ele mesmo.
c. Encontre um lao.
d. Encontre duas arestas paralelas.
e. Encontre o grau do vrtice 3.
f. Encontre um caminho de comprimento 5.
g. Encontre um ciclo.
h. Este grafo completo?
i. Este grafo conexo?

Atividade 2:
Conceitos Bsicos
Grafos Ponderados
Grafo Ponderado: grafos com pesos associados a seus
arcos
Ex.:
C
B
A
D
E
2
3
4
2
3
5
1
Outras Definies
Grafos Finitos: um grafo finito se V e A so finitos

Grafos com apenas um vrtice so ditos triviais.

Um grafo simples se no possuir loops e arestas
mltiplas.

Um grafo completo se todos os vrtices so adjacentes
entre si.

Grafos - Representaes
Existem muitas formas de se representar grafos, porm
vamos ver 2 tipos:


Matriz de Adjacncias
Lista de Adjacncias


Matriz de Adjacncias

Matriz de Adjacncias - Exemplo


C
B
A
D
A B C D
A 0 1 1 0
B 1 0 1 0
C 1 1 0 1
D 0 0 1 0
C
B
A
D
A B C D
A 0 0 1 0
B 1 0 0 0
C 0 1 0 1
D 0 0 0 0
Matriz de Adjacncias - Exemplo
A B C D
A 0 2 4 0
B 2 0 3 0
C 4 3 0 5
D 0 0 5 0
A B C D
A 0 0 4 0
B 2 0 0 0
C 0 3 0 5
D 0 0 0 0
C
B
A
D
2
3
4
5
C
B
A
D
2
3
4
5
Matriz de Adjacncias Caractersticas
1. Vantagens:
Fcil visualizao para vrtices adjacentes
Muito til para algoritmos em que necessitamos saber com rapidez se
existe uma aresta ligando dois vrtices
Fcil clculo do grau do n.
A soma dos nmeros de uma linha retorna o grau do vrtice, em
grafos no direcionados
Em grafos direcionados
A soma dos nmeros de uma linha retorna o grau de sada
A soma dos nmeros de uma coluna retorna o grau de entrada
2. Desvantagens:
Requer muito espao de armazenamento
Deve ser mais utilizada para grafos densos
Lista de Adjacncias
Na Lista de Adjacncias, as linhas da matriz so
representadas por listas ligadas
Cada vrtice corresponde a uma linha
Vrtices que contm ligaes diretas tm um n associado na
linha

Um vetor V
i
usado como cabealho para estas listas,
onde i um determinado vrtice
Lista de Adjacncias - Exemplo
C
B
A
D
C
B
A
D
A
B
C
D
B C
A C
A B
C
D
A
B
C
D
C
A
B D
Listas de Adjacncias - Caractersticas
Mais utilizada para grafos esparsos, pois tambm exige
muito espao para armazenamento
Verificao de grau:
No Direcionais: quantidade de ns em uma linha
Direcionais:
A quantidade de ns de uma linha representa o grau de sada.
Como saber o grau de entrada de cada n?
Deve-se pesquisar em todos os vrtices do grafo, excluindo
ele, se existe alguma referncia para o n em questo!!!

Anda mungkin juga menyukai