© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Grafos IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Adriana Libório.

Slides:



Advertisements
Apresentações semelhantes
Grafos Orientados (digrafos)
Advertisements

Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Algoritmos em Grafos (Parte 2)
Grafos – Parte 2 Projeto e Análise de Algoritmos Aline Vasconcelos
Análise de Decisão Aplicada a Gerência Empresarial – UVA Grafos - V
Grafos Introdução
Exercícios PAA- Grafos
Exercícios PAA- Grafos
CC/EC/Mestrado/UFES Teoria dos Grafos (INF 5037/INF2781) Grafos Orientados (digrafos)
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
Métodos para representação de estruturas hierárquicas
Grafos Grafo G = (V, E) V — conjunto de vértices
Introdução Redes LAN - abrangência: edifícios e campos.
Grafos – Parte 1 Projeto e Análise de Algoritmos Aline Vasconcelos
Busca Cega (Exaustiva)
Grafos - Definições Preliminares - Formas de Representação
Ronaldo Celso Messias Correia –
Pesquisa Operacional - Profa Úrsula L. F. Ribeiro
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Backtracking Katia Guimarães.
Árvore Geradora Mínima
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Algoritmos em Grafos.
Formas de representação e manipulação básica
Grafos Árvores Geradoras.
Finding and Evaluating Community Structure in Networks
Algoritmos em Grafos Árvores Geradoras Prof. André Renato
Caminhamento em Grafos: Busca em Largura e Busca em Profundidade
Exercícios PAA- Grafos
Banco de Dados Orientado a Grafos
Operações com grafos União Exemplo
José Garcia Vivas Miranda
Introdução e Busca Cega
Teoria dos Grafos Introdução
Fluxo Máximo e Empalhemento Algoritmos 2 – IF775
Problema do menor Caminho
NP-Completude Algoritmos e Estruturas de Dados – IF672
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Átila Valgueiro Malta Moreira Juliana Medeiros de Lucena Rafael Alberto.
Navegação e Controle de Robôs Móveis PLANEJAMENTO DE CAMINHOS.
Teoria dos Grafos Conceitos Preliminares
REDE DE COMPUTADORES.
© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Revisão IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Allan Jefferson.
Anjolina Grisi de Oliveira obs: muitos slides foram cedidos por Adolfo Almeida Duran (UFBA) 2005.
Msc. Daniele Carvalho Oliveira
Katia S. Guimarães Busca em Grafos Katia S. Guimarães
Conjuntos Algoritmos e Estruturas de Dados - IF672
Árvores AVL Algoritmos e Estruturas de Dados - IF672

Introdução a Algoritmos em Grafos.
Mestrado em Informática
Celso C. Ribeiro Caroline T. Rocha
Implementações do método de aproximação primal-dual
Grafos Anjolina Grisi de Oliveira 2005
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Estruturas de Dados Dinâmicas IF672 - Algoritmos e Estruturas de Dados.
Estruturas de Dados Murilo Salgado Razoli.
© Copyright 2008 Algoritmos e Estruturas de Dados 1 IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Adriana Libório Fernandes Lins Arthur Cavalcanti.
IF672 cc Algoritmos e Estruturas de Dados
Programação Dinâmica IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Átila Valgueiro Malta Moreira Juliana Medeiros de Lucena Rafael Alberto Gomes.
Adriana Libório Fernandes Lins Arthur Cavalcanti Alem Átila Valgueiro Malta Moreira Flavio Juvenal da Silva Júnior Gustavo Cauê Silva.
© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Busca em Grafos IF672 - Algoritmos e Estruturas de Dados CIn - UFPE ©
 Prof. Miguel Gabriel Prazeres de Carvalho 1. 2 Redes Sociais GPS Para o correio. Para Viajantes. Pesquisas Biológicas. Distribuição de Tarefas. Recomendações.
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Ponteiros IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Murilo Raphael.
Adriana Libório Fernandes Lins Arthur Cavalcanti Alem Átila Valgueiro Malta Moreira Flavio Juvenal da Silva Júnior Gustavo Cauê Silva Botelho Matheus Bispo.
© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Busca Gulosa em Grafos IF672 - Algoritmos e Estruturas de Dados CIn -
Adriana Libório Fernandes Lins Arthur Cavalcanti Alem Átila Valgueiro Malta Moreira Flavio Juvenal da Silva Júnior Gustavo Cauê Silva.
RELAÇÃO ENTRE AUTORES DE TRABALHOS DE DEA EM LINGUA PORTUGUESA UTILIZANDO MEDIDA DE CENTRALIDADE DE GRAFOS Maria Helena Campos Soares de Mello - UFF Renata.
Entrada e Saída de Dados com Arquivos – Java
Estruturas de Dados Dinâmicas
Transcrição da apresentação:

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Grafos IF672 - Algoritmos e Estruturas de Dados CIn - UFPE Adriana Libório Fernandes Lins Arthur Cavalcanti Alem Átila Valgueiro Malta Moreira Flavio Juvenal da Silva Júnior Gustavo Cauê Silva Botelho Matheus Bispo Arrais de Souza Murilo Raphael de Souza Lira Rafael Alberto Gomes Pereira Lima Rafael Brandão Lobo Rafael Loureiro de Carvalho Tiago Carneiro Pessoa Canto Vinicius Miranda Cesar

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Grafos Um Grafo é uma estrutura de dados que representa objetos e as relações entre eles. Pode ser usado para: -Representar redes de computadores; -Encontrar a menor distância entre duas cidades; -Representar os estados de uma máquina de estados... Entre várias outras coisas.

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Grafos Grafos são formados por vértices (ou nós) e arestas, que ligam os vértices: Rec SP Salv RJ Ex: Rotas de AviãoEx: Computadores conectados g6c19 g6c20 g6c21 Servidor Cidades (vértices) Rec SP Salv RJ Rotas (arestas) Conexões (arestas) Computadores (vértices) g6c19 g6c20 g6c21 Servidor

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Arestas Há dois tipos de arestas, segundo sua orientação: Direcionadas (mão única), tais que (v,w)  (w,v) vwvw  vwvwvw  origemdestinoorigemdestino Não-direcionadas (mão dupla), tais que (v,w) = (w,v) origemdestino origemdestino

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Grafos Direcionados Cada aresta tem um sentido único, partindo do vértice de origem e chegando ao vértice de destino: Ex: Ruas de uma cidadeEx: Árvore (arestas pai-filho)

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Grafos Não-Direcionados Todas as arestas são de mão dupla, ou seja, não importa o sentido escolhido, e (v,w) = (w,v):

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Representando Grafos Há várias formas de representar um grafo. As mais comuns são: Matriz de Adjacências - Relação entre pares: se dois vértices são vizinhos - Espaço fixo: desperdício Lista de Incidências - Lista ligada de vizinhos de cada vértice - Acesso seqüencial: ideal para buscas

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Matriz de Adjacências Para cada par, 1 se são vizinhos, 0 em caso contrário. São necessárias n² posições: Uma linha inteira para cada vértice

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Lista de Incidências Para cada vértice, uma lista contendo apenas os vértices ligados a ele:

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Lista de Incidências Implementação: class Grafo { Lista[] adj; public Grafo(int n) { adj = new Lista[n]; for (int i = 0; i < n; i++) adj[i] = new Lista(); } }

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Arestas com Peso Há outra classificação para arestas: Arestas sem peso, com custo uniforme 12 3 Arestas com peso Ex: distâncias Dois vértices são vizinhos?Se são, qual o custo da ligação?

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Grafos com Pesos Cada aresta tem um custo (peso) associado a ela. Ex: Mapa de uma cidade A C B D E 20 km 15 km12 km 13 km 30 km28 km Arestas inexistentes são arestas com custo infinito.  km

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Matriz de Adjacências com Pesos Para cada par, o custo da aresta se são vizinhos, infinito em caso contrário:  8 3  2   8   4  3  3    1 4   4   7  3 2  1 7     3 4        3   

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Lista de Incidências com Pesos Cada nó da lista contém o vértice vizinho e o custo da aresta (sem infinitos): V C

© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Lista de Incidências com Pesos Implementação: class NoLista { int vertice int custo; NoLista prox; } A única modificação ocorre na representação das arestas, ou seja, nos nós da lista de incidências. Neles, uma nova informação (o custo) deve ser armazenada. Nova informação