06 Grafos: Caminhos Mínimos SCC0503 Algoritmos e Estruturas de Dados II

Tamanho: px
Começar a partir da página:

Download "06 Grafos: Caminhos Mínimos SCC0503 Algoritmos e Estruturas de Dados II"

Transcrição

1 06 Grafos: Caminhos Mínimos SCC050 Algoritmos e Estruturas de Dados II Paulo H. R. Gabriel Moacir Ponti Jr. Instituto de Ciências Matemáticas e de Computação USP 011/1 Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 1 / 57

2 Conteúdo da Aula 1 Revisão e Motivação Caminhos Mínimos em Grafos Ponderados (um-para-todos) Algoritmo de Dijkstra 4 Algoritmo de Bellmand-Ford 5 Caminhos Mínimos em Grafos Ponderados (todos-para-todos) 6 Sumário Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 / 57

3 Resumindo e recordando... Seja G = (V, E) um (di)grafo Percurso em G Busca em profundidade (DFS) Busca em largura (BFS) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 / 57

4 Resumindo e recordando: Um exemplo de percuso (DFS) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 4 / 57

5 Resumindo e recordando: Um exemplo de percurso (BFS) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 5 / 57

6 Resumindo e recordando: BFS Algoritmo que encontra o menor caminho a partir de uma determinada fonte até todos os outros vértices Menor Caminho Caminho de menor comprimento (menor número de arestas) BFS processa vértices em ordem crescente de distância em relação ao vértice raiz Tempo de execução O( V + E ) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 6 / 57

7 Uma aplicação de grafos bem comum Mapas 65 São Carlos 40 Rio Claro Araraquara Descalvado Ribeirão Preto Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 7 / 57

8 Uma aplicação de grafos bem comum Problema 1 Como saber se duas cidades estão conectadas? Problema Qual o melhor caminho entre duas cidades? Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 8 / 57

9 Em outras palavras... Função Peso Seja G = (V, E) um (di)grafo ponderado com função peso w : E R. O peso de uma aresta u v é denotado por w(u, v) Para e E, se e = (u, v), denotamos w(u, v) = w(e) Comprimento de um Caminho Seja p = v 0 v 1... v k um caminho O comprimento é a soma dos pesos das arestas de p Matematicamente: L(p) = k w(v i 1, v i ) i=1 Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 9 / 57

10 Em outras palavras... L(p) = k w(v i 1, v i ) i=1 Exemplo L(p) = 15, 5 Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 10 / 57

11 Caminhos mais curto Mais uma denição Um caminho mais curto (shortest path) de u até v é o caminho de menor comprimento entre u e v Notação δ(u, v) = min{l(p)}, sendo p um caminho entre u e v Observação δ(u, v) = se não houver caminho entre u e v Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 11 / 57

12 O problema dos caminhos mínimos Single-source shortest paths Dado um (di)grafo ponderado, com pesos não-negativos, e um vértice s V, encontre δ(s, v), para todo v V Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 1 / 57

13 O problema dos caminhos mínimos Ideia de solução Abordagem Gulosa 1 Crie um conjunto S de vértices cujas distâncias a partir de s são conhecidas A cada iteração, acrescente a S o vértice v cuja distância estimada a s é mínima v (V S) (ou seja, não pertence ainda a S) Atualize as distâncias estimadas até v Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 1 / 57

14 Algoritmo de Dijkstra (I) Entrada Grafo G = (V, E), direcionado ou não direcionado. Vértice s V w(e) para todo e E Saída d[u]: distância mínima de s até todo u alcançável Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 14 / 57

15 Algoritmo de Dijkstra (II) Inicialização 1 d[s] 0 for all v V {s} do d[s] 4 S 5 Q V Q é uma la de prioridades que conterá V S Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 15 / 57

16 Algoritmo de Dijkstra (III) Percurso 1 while Q do u Menor_Chave(Q) S S {u} 4 for all v Adj[u] 5 do if d[v] > d[u] + w(u, v) 6 then d[v] d[u] + w(u, v) 7 Decrementa_Chave(Q, v, d[v]) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 16 / 57

17 Exemplo Entrada Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 17 / 57

18 Exemplo Passo I v s a b c d d[v] 0 p[v] v s a b c d d[v] 0 Q Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 18 / 57

19 Exemplo Passo II v s a b c d d[v] 0 7 p[v] s s v a b c d d[v] 7 Q Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 19 / 57

20 Exemplo Passo III v s a b c d d[v] p[v] s a a a v b c d d[v] Q Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 0 / 57

21 Exemplo Passo IV v s a b c d d[v] p[v] s s b a v c d d[v] 6 7 Q Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 1 / 57

22 Exemplo Passo V v s a b c d d[v] p[v] s s b a v d d[v] 7 Q Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 / 57

23 Exemplo Passo VI v s a b c d d[v] p[v] s s b a Q = Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 / 57

24 Exemplo Saída Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 4 / 57

25 Análise do algoritmo de Dijkstra (I) Teorema O algoritmo de Dijkstra sempre devolve d[v] = δ(s, v) para todo v V Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 5 / 57

26 Análise do algoritmo de Dijkstra (II) Inicialização: O( V ) vezes Durante o percurso: O( V ) operações de Menor_Chave() No laço mais interno: O( V + E ) operações de Decrementa_Chave() Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 6 / 57

27 Análise do algoritmo de Dijkstra (III) Complexidade da Fila Depende da implementação Em geral, usa-se uma árvore heap Inserção/Atualização: O(log V ) Complexidade do algoritmo de Dijkstra O( V + ( E + V ) log( V )) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 7 / 57

28 Limitações no algoritmo de Dijkstra Ciclos Negativos Arestas com peso menor que 0 Ocorrem quando modelamos determinados problemas do mundo real por meio de (di)grafos Impedem a existência de caminhos mínimos Reformulando Problema Dado um (di)grafo ponderado e um vértice s V, encontre δ(s, v), para todo v V OU determine a existência de ciclos negativos Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 8 / 57

29 Algoritmo de Bellman-Ford (I) Inicialização 1 d[s] 0 for all v V {s} do d[s] Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 9 / 57

30 Algoritmo de Bellman-Ford (II) Percurso 1 for i to V 1 do for all (u, v) E do if d[v] > d[u] + w(u, w) 4 then d[v] d[u] + w(u, v) 5 for all (u, v) E 6 do if d[v] > d[u] + w(u, v) 7 then reporta existência de ciclo negativo. Complexidade O( V E ) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 0 / 57

31 Exemplo de execução (I) 5 Estimando o tempo... s 6 7 t y - x z d(s)=0 s 6 7 d(t)= t y 5 - x d(y)= 9-4 z d(x)= d(z)= Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 1 / 57

32 Exemplo de execução (II) Primeira rodada Segunda rodada d(s)=0 s 6 7 d(t)= 6 t y 5 - x d(y)= z d(x)= d(z)= d(s)=0 s 6 7 d(t)=6 t y 5 - x d(y)=7 9-4 d(x)= 11 4 z d(z)= Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 / 57

33 Exemplo de execução (III) Terceira rodada Quarta rodada d(s)=0 s 6 d(t)=6 t 5 - x d(x)=4 d(s)=0 s 6 d(t)= t 5 - x d(x)=4 7 y d(y)=7 9-4 z d(z)= 7 y d(y)=7 9-4 z d(z)= - Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 / 57

34 Outro problema envolvendo caminhos Até agora, vimos o problema envolvendo uma única fonte Há casos em que temos a necessidade de saber menores caminhos entre todos os vértices Problema de All-Pairs Shortest Paths Possível Solução Utilizar o algoritmo de Dijkstra considerando cada vértice como origem alternadamente Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 4 / 57

35 Outra possibilidade Algoritmo de Floyd-Warshall Utiliza uma matriz V V para calcular e armazenar os tamanhos dos caminhos mais curtos Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 5 / 57

36 Algoritmo de Floyd-Warshall Exemplo 8 1 Inicialização: custos entre vértices adjacentes são inseridos na matriz Ignorar loops Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 6 / 57

37 Algoritmo de Floyd-Warshall Exemplo A matriz é percorrida V vezes A cada iteração k, verica-se se um caminho entre dois vértices (v, w) que passa também pelo vértice k é mais curto que o caminho mais curto conhecido d[v, w] = min{d[v, w], d[v, k]+d[k, w]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 7 / 57

38 Algoritmo de Floyd-Warshall Exemplo 8 1 d[1, 1] = min{d[1, 1], d[1, 1]+d[1, 1]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 8 / 57

39 Algoritmo de Floyd-Warshall Exemplo 8 1 d[1, ] = min{d[1, ], d[1, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 9 / 57

40 Algoritmo de Floyd-Warshall Exemplo 8 1 d[1, ] = min{d[1, ], d[1, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 40 / 57

41 Algoritmo de Floyd-Warshall Exemplo 8 1 d[, 1] = min{d[, 1], d[, 1]+d[1, 1]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 41 / 57

42 Algoritmo de Floyd-Warshall Exemplo 8 1 d[, ] = min{d[, ], d[, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 4 / 57

43 Algoritmo de Floyd-Warshall Exemplo 8 1 d[, ] = min{d[, ], d[, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 4 / 57

44 Algoritmo de Floyd-Warshall Exemplo 8 1 d[, ] = min{d[, ], d[, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 44 / 57

45 Algoritmo de Floyd-Warshall Exemplo 8 1 d[, 1] = min{d[, 1], d[, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 45 / 57

46 Algoritmo de Floyd-Warshall Exemplo 8 1 d[, ] = min{d[, ], d[, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 46 / 57

47 Algoritmo de Floyd-Warshall Exemplo 8 1 d[, ] = min{d[, ], d[, 1]+d[1, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 47 / 57

48 Algoritmo de Floyd-Warshall Exemplo Ao nal da primeira iteração, sabemos os caminhos mais curtos entre v e w que passam por 1 Repete-se o processo considerando os demais vértices Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 48 / 57

49 Algoritmo de Floyd-Warshall Exemplo d[, 1] = min{d[, 1], d[, ]+d[, 1]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 49 / 57

50 Algoritmo de Floyd-Warshall Exemplo d[, 1] = min{d[, 1], d[, ]+d[, 1]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 50 / 57

51 Algoritmo de Floyd-Warshall Exemplo d[1, ] = min{d[1, ], d[1, ]+d[, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 51 / 57

52 Algoritmo de Floyd-Warshall Exemplo d[1, ] = min{d[1, ], d[1, ]+d[, ]} Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 5 / 57

53 Algoritmo de Floyd-Warshall Pseudocódigo Inicialização 1 for i 1 to V do for j 1 to V do d[i, j] w(i, j) 4 p[i, j] null Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 5 / 57

54 Algoritmo de Floyd-Warshall Pseudocódigo Programação Dinâmica 1 for k 1 to V do for i 1 to V do for j 1 to V 4 do if (d[i, k] + d[k, j] < d[i, j]) 5 do d[i, j] d[i, k] + d[k, j] 6 p[i, j] k Complexidade O( V ) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 54 / 57

55 Sumário Dois problemas de caminhos mínimos Single-source shortest paths Dijkstra Arestas não-negativas O( V + ( E + V ) log( V )) Bellman-Ford O( V E ) All-Pairs Shortest Paths Problem Floyd-Warshall O( V ) Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 55 / 57

56 Leitura Recomendada I CORMEN, T. H. et al. Introduction to algorithms,the MIT Press,.ed., 001. Cap. 4. SEDGEWICK, R. Algorithms in C: part 5,.ed., Addison-Wesley, 00. Cap. 1 - Sec. 1.1, 1., 1., 1.7 ZIVIANI, N. Projeto de Algoritmos,.ed. Cengage, 004. Cap. 7 - Sec. 7.8 DASGUPTA, S. et al. Algoritmos, McGraw-Hill, 008. Cap. 4 Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 56 / 57

57 Agradecimentos Ao prof. Thiago Pardo, que forneceu parte das guras utilizadas nesta aula. Paulo H. R. Gabriel (ICMCUSP) 06 Grafos: parte 6 011/1 57 / 57

Grafos Caminhos mais Curtos

Grafos Caminhos mais Curtos ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Caminhos mais Curtos Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo Basta,

Leia mais

03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II

03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II 03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir

Leia mais

Algoritmos em Grafos: Caminho Mínimo

Algoritmos em Grafos: Caminho Mínimo Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre

Leia mais

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II

05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II 05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.

Leia mais

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem

Leia mais

Grafos: caminhos mínimos

Grafos: caminhos mínimos Grafos: caminhos mínimos SCE-8 Algoritmos e Estruturas de Dados Thiago A. S. Pardo Maria Cristina Gustavo Batista O problema do menor caminho Um motorista deseja encontrar o caminho mais curto possível

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias

Leia mais

Eduardo Camponogara. DAS-9003: Introdução a Algoritmos

Eduardo Camponogara. DAS-9003: Introdução a Algoritmos Caminhos Mínimos Com Uma Fonte 1/74 Caminhos Mínimos Com Uma Fonte Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: a Algoritmos Caminhos Mínimos

Leia mais

Algoritmos e Estruturas de Dados II

Algoritmos e Estruturas de Dados II Algoritmos e Estruturas de Dados II Grafos VI: Grafos Ponderados & Caminhos Mínimos (Bellman-Ford) Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis

Leia mais

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II 01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr. (ICMCUSP) 01

Leia mais

Caminhos mínimos de única origem

Caminhos mínimos de única origem Caminhos mínimos de única origem Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução

Leia mais

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual

Leia mais

AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado

AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado AULA 13 PROJETO E ANÁLISE DE ALGORITMOS Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado Roteiro Motivação Relaxamento Algoritmo de Dijkstra Motivação Suponha que você

Leia mais

Distâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27

Distâncias Mínimas. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/ / 27 Distâncias Mínimas Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Distâncias Mínimas 2014/2015 1 / 27 Distâncias Mínimas Uma das aplicações mais típicas em grafos é o cálculo de distâncias.

Leia mais

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II 04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Busca em Largura. Adaptado de Humberto C. B. Oliveira

Busca em Largura. Adaptado de Humberto C. B. Oliveira Busca em Largura Adaptado de Humberto C. B. Oliveira Últimas aulas Introdução: História Aplicações Conceitos Básicos: Grafo simples Grafo completo/vazio Grafo não orientado: Arestas laço Arestas paralelas

Leia mais

Teoria dos Grafos Aula 22

Teoria dos Grafos Aula 22 Teoria dos Grafos Aula 22 Aula passada Caminho mais curto entre todos os pares Algoritmo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto Algoritmo de Bellman Ford Melhorias Caminho

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 12 Prof. Dr. Sylvio Barbon Junior Sumário - Árvore Geradora Mínima - Teorema pare reconhecer arestas seguras; - Algoritmo de Prim; - Algoritmo

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Caminhos Mais Curtos com Fonte Única [CLRS, Cap. 24] 2014/2015 Contexto Revisão [CLRS, Cap.1-13] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.21-26] Algoritmos

Leia mais

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos Grafos Caminhos mais curtos de única origem Conteúdo Subestrutura ótima Inicialização Propriedades de caminhos mais curtos Algoritmos Algoritmo de Bellman-Ford Caminhos mais curtos de única origem em gaos

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 06 Busca em Profundidade e Busca em Largura Edirlei Soares de Lima Grafos (Revisão) G = (V, A) G: grafo; V: conjunto de vértices; A: conjunto

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções

Leia mais

Projeto e Análise de Algoritmos. Método Guloso

Projeto e Análise de Algoritmos. Método Guloso Projeto e Análise de Algoritmos Método Guloso Altigran Soares da Silva Universidade Federal do Amazonas Departamento de Ciência da Computação Árvore Geradora Um árvore geradora de um grafo G é um subgrafo

Leia mais

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC-203 ALGORITMOS E ESTRUTURAS DE DADOS II Prova - Gabarito Nome: Nro. USP ) O matemático

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Caminhos Mais Curtos para Todos os Pares CLRS, Cap. 25 Contexto Algoritmos Elementares em Grafos (CLR, Cap. 22) BFS & DFS Ordenação Topológica & SCCs Árvores Abrangentes

Leia mais

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32 Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).

Leia mais

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de todos os pares

Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de todos os pares Grafos Caminhos mais curtos de todos os pares Conteúdo Algoritmos Baseado em multiplicação de matrizes Algoritmo de Floyd-Warshall Agoritmo de Johnson para grafos esparsos Referências Dado um grafo orientado

Leia mais

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo PMR2300 Escola Politécnica da Universidade de São Paulo Um grafo é uma estrutura que generaliza árvores, sendo formado por nós e arestas. Cada nó em um grafo pode ser conectado a vários outros nós por

Leia mais

INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO

INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO INSTITUTO FEDERAL DO ESPÍRITO SANTO CURSO BACHARELADO EM SISTEMAS DE INFORMAÇÃO ANTONIO CARLOS GOMES BASILIO EVANDRO DAS VIRGENS SCARPATI MARCOS AURÉLIO MELO DIAS RENAN COSMO PROBLEMA DO CAMINHO MÍNIMO

Leia mais

CIC 110 Análise e Projeto de Algoritmos I

CIC 110 Análise e Projeto de Algoritmos I CIC 0 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA Caminhos mais curtos Caminhos mais curtos Encontrar um caminho mais curto entre dois nós

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Algoritmos em Grafos Aula 2 Caminho Mínimo: Algoritmo de Bellman-Ford Prof. Humberto César Brandão de Oliveira humberto@bcc.unifal-mg.edu.br Caminho Mínimo Suponha que você

Leia mais

Algoritmos e Estruturas de Dados

Algoritmos e Estruturas de Dados Algoritmos e Estruturas de Dados Grafos Slides baseados em: ZIVIANI, N. Projetos de Algoritmos - com implementações em Java e C++. Thomson Learning, 2007. Cap 7. CORMEN, H.T.; LEISERSON, C.E.; RIVEST,

Leia mais

Grafos parte 2. Percorrendo um grafo. Correção. Eficiência. Percorrendo um Grafo. Percorrendo um Grafo. Percorrendo um Grafo

Grafos parte 2. Percorrendo um grafo. Correção. Eficiência. Percorrendo um Grafo. Percorrendo um Grafo. Percorrendo um Grafo Percorrendo um grafo Grafos parte 2 SCC-203 Algoritmos e Estruturas de Dados 2 Rosane 2010 Baseado em material de professores dos anos anteriores Percorrendo um Grafo Percorrer um grafo é um problema fundamental

Leia mais

Grafos parte 2* Algoritmos e Estruturas de Dados II SCC-203 Rosane 2010/2011. *Baseado em material de professores dos anos anteriores

Grafos parte 2* Algoritmos e Estruturas de Dados II SCC-203 Rosane 2010/2011. *Baseado em material de professores dos anos anteriores Grafos parte 2* Algoritmos e Estruturas de Dados II SCC-203 Rosane 2010/2011 *Baseado em material de professores dos anos anteriores Divisão do Arquivo 1ª parte Percorrendo um grafo Eficiência, Correção

Leia mais

Teoria dos Grafos Aula 24

Teoria dos Grafos Aula 24 Teoria dos Grafos Aula 24 Aula passada Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto em grafos Algoritmo de Bellman Ford Algoritmo

Leia mais

GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira

GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira Ciência da Computação GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira Busca em Largura (Breadth-First Search) Um dos algoritmos mais simples para exploração de um grafo.

Leia mais

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC-203 ALGORITMOS E ESTRUTURAS DE DADOS II Prova - Gabarito Nome: Nro. USP ) O matemático

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Algoritmos de Grafos Complexidade

Leia mais

Grafos Parte 1. Aleardo Manacero Jr.

Grafos Parte 1. Aleardo Manacero Jr. Grafos Parte 1 Aleardo Manacero Jr. Uma breve introdução Grafos são estruturas bastante versáteis para a representação de diversas formas de sistemas e/ou problemas Na realidade, árvores e listas podem

Leia mais

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1 Definições e Estruturas de Grafos Representações; Percursos Busca em Largura; Busca em Profundidade.

Leia mais

01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II

01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II 01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir

Leia mais

Caminhos mínimos de todos os pares

Caminhos mínimos de todos os pares Caminhos mínimos de todos os pares Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução

Leia mais

Grafos Árvores Geradoras Mínimas

Grafos Árvores Geradoras Mínimas ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Árvores Geradoras Mínimas Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo

Leia mais

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar

Leia mais

Grafos Parte 2. SCC-603 Algoritmos e Estruturas de Dados II. Profª. Rosane Minghim / Baseado em material de professores dos anos anteriores

Grafos Parte 2. SCC-603 Algoritmos e Estruturas de Dados II. Profª. Rosane Minghim / Baseado em material de professores dos anos anteriores Grafos Parte 2 SCC-603 Algoritmos e Estruturas de Dados II Profª. Rosane Minghim / 2012 Baseado em material de professores dos anos anteriores Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo

Leia mais

Algoritmo de Dijkstra Wikipédia, a enciclopédia livre

Algoritmo de Dijkstra Wikipédia, a enciclopédia livre 1 de 8 26/08/2013 23:10 Algoritmo de Dijkstra Origem: Wikipédia, a enciclopédia livre. O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicado em 19591

Leia mais

Grafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina

Grafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina Grafos: Busca SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é um problema fundamental Deve-se ter uma forma sistemática

Leia mais

03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II

03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II 03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir

Leia mais

Grafos: caminhos mínimos em Listas de Adjacência. Profa. Graça Nunes

Grafos: caminhos mínimos em Listas de Adjacência. Profa. Graça Nunes Grafos: caminhos mínimos em Listas de Adjacência Profa. Graça Nunes Caminhos mínimos O problema do caminho mínimo consiste em determinar um menor caminho entre um vértice de origem e um vértice de destino

Leia mais

Problema do Caminho Mínimo

Problema do Caminho Mínimo Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF Estruturas de Dados Avançadas Grafos //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso conhecido 7 Euler: pontes de Königsberg //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso

Leia mais

Sub-grafo. Árvore Geradora Mínima

Sub-grafo. Árvore Geradora Mínima Comentários da aula anterior Componentes Fortemente Conectados (algoritmo) 1. Chama BuscaEmProfundidade (G) para obter os tempos de término (t[u], ou f[u]) para todos os vértices de G, isto é, enquanto

Leia mais

Grafos: algoritmos de busca

Grafos: algoritmos de busca busca em grafos como caminhar no grafo de modo a percorrer todos os seus vértices evitando repetições desnecessárias do mesmo vértice? e por onde começar? solução: necessidade de recursos adicionais que

Leia mais

Algoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso)

Algoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso) Algoritmo de Dijkstra (um para todos ; arestas de peso não negativo ; guloso) 1º passo: iniciam-se os valores: para todo v V[G] d[v] π[v] -1 d[s] 0 V[G] é o conjunto de vértices(v) que formam o Grafo G.

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Algoritmos Elementares em Grafos [CLRS, Cap. 22] 24/25 Contexto Revisão [CLRS, Cap.-3] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.2-26] Algoritmos elementares

Leia mais

Algoritmo de Dijkstra Estudo e Implementação

Algoritmo de Dijkstra Estudo e Implementação Teoria dos Grafos 0/0 Algoritmo de Dijkstra Estudo e Implementação Professora: Claudia Boeres Alunos: José Alexandre Macedo Maycon Maia Vitali Problema do Caminho Mínimo Qual o caminho mínimo entre um

Leia mais

Algoritmo Floyd-Warshall. Problema dos caminhos mínimos entre todos os pares. Programação dinâmica

Algoritmo Floyd-Warshall. Problema dos caminhos mínimos entre todos os pares. Programação dinâmica Algoritmo Floyd-Warshall S. Problema dos caminhos mínimos entre todos os pares Problema: Dado um digrafo com custo nos arcos, determinar, para cada par de vértices s, t o custo de um caminho mínimo de

Leia mais

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello Estruturas de Dados Grafos VIII: Árvores Geradoras Mínimas Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww.datastructures.net

Leia mais

Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22

Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22 Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca

Leia mais

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes 8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus

Leia mais

Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford. O problema tem subestrutura óptima

Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford. O problema tem subestrutura óptima Caminho mais curto a partir de um nó Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford Fernando Lobo Algoritmos e Estrutura de Dados II Input: Um grafo com pesos nos arcos G =

Leia mais

SCC-210 Algoritmos Avançados. Capítulo 9 Grafos. Adaptado por João Luís G. Rosa

SCC-210 Algoritmos Avançados. Capítulo 9 Grafos. Adaptado por João Luís G. Rosa SCC-21 Algoritmos Avançados Capítulo Grafos Adaptado por João Luís G. Rosa Representação (Skiena & Revilla, 2) Vértices rotulados: u Chaves (índices) são associadas aos vértices Arestas sem elementos.

Leia mais

Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford

Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford Caminho mais curto a partir de um nó Algoritmos de Dijkstra e Bellman-Ford Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 28 Caminho mais curto a partir de um nó Input: Um grafo com pesos nos arcos

Leia mais

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto Problema do Caminho Mais Curto " Podemos afectar pesos" aos arcos de um grafo, por exemplo, para representar uma distância entre cidades numa rede ferroviária: ria: Chicago 650 600 700 Toronto 200 New

Leia mais

Grafos: árvores geradoras mínimas. Graça Nunes

Grafos: árvores geradoras mínimas. Graça Nunes Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as

Leia mais

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro Fevereiro - 009 Definição de Grafo Listas de Adjacências de Técnicas da Classificação das Arestas Aplicação do de de 4 Grafo Transposto Definição de Grafo Listas de Adjacências de Exemplos de Aplicação

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 31 de maio de 2017 Marco Antonio M. Carvalho

Leia mais

AED2 - Aula 22 Busca em largura, cálculo de distâncias

AED2 - Aula 22 Busca em largura, cálculo de distâncias AED2 - Aula 22 Busca em largura, cálculo de distâncias Relembrando a busca genérica, usando um versão alternativa: marque todos os vértices como não encontrados. marque s como encontrado. coloque s no

Leia mais

Árvore Geradora Mínima

Árvore Geradora Mínima GRAFOS ÁRVORE GERADORA MÍNIMA Prof. André Backes Árvore Geradora Mínima Definição Uma árvore geradora (do inglês, spanning tree) é um subgrafo que contenha todos os vértices do grafo original e um conjunto

Leia mais

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes Grafos: Busca Algoritmos e Estruturas de Dados Graça Nunes Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é uma tarefa fundamental Pense no caso de se procurar uma certa informação associada

Leia mais

GRAFOS Conceitos Básicos (Parte 1)

GRAFOS Conceitos Básicos (Parte 1) ALGORITMOS E ESTRUTURAS DE DADOS II GRAFOS Conceitos Básicos (Parte 1) Gustavo Batista Profa. Elaine Parros Machado de Sousa alterações: Cris-na Dutra de Aguiar Ciferri Material baseado em aulas dos professores:

Leia mais

Desafios de Programação TCC Turma A-1

Desafios de Programação TCC Turma A-1 Desafios de Programação TCC-00.254 Turma A-1 Conteúdo Grafos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2015.1/tcc-00.254

Leia mais

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Grafos: componentes fortemente conexos, árvores geradoras mínimas Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente

Leia mais

Busca em Profundidade e em Largura

Busca em Profundidade e em Largura Busca em Profundidade e em Largura Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Mais sobre Caminhos TEOREMA: Se um grafo possui exatamente 2 vértices de

Leia mais

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC052 PERÍODO:

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).

Leia mais

Grafos: aplicações. Grafos: árvore geradora mínima

Grafos: aplicações. Grafos: árvore geradora mínima árvore geradora mínima caminhos mínimos problemas tipo 1 desejase conectar todos os computadores em um prédio usando a menor quantidade possível de cabos uma companhia aérea deseja voar para algumas cidades

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado. PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure

Leia mais

Filas de Prioridades Letícia Rodrigues Bueno

Filas de Prioridades Letícia Rodrigues Bueno Filas de Prioridades Letícia Rodrigues Bueno UFABC Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n; Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade

Leia mais

Grafos: caminhos mínimos

Grafos: caminhos mínimos quando o grafo é sem pesos, a determinação de um caminho mais curto pode ser feita através de uma busca em largura caminho mais curto é aquele que apresenta o menor número de arestas quando o grafo tem

Leia mais

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019 SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019 Luciano Antonio Digiampietri Escola de Artes, Ciências e Humanidades Programa de Pós-graduação em Sistemas de Informação (PPgSI)

Leia mais

Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno

Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno UFABC Problemas de Caminho Mínimo Caminho mínimo de fonte única: algoritmo de Dijsktra; Problemas de Caminho Mínimo Caminho

Leia mais

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas

Leia mais

APLICAÇÕES DE BUSCA EM GRAFOS

APLICAÇÕES DE BUSCA EM GRAFOS APLICAÇÕES DE BUSCA EM GRAFOS David Krenkel Rodrigues de Melo david.melo1992@gmail.com Prof. Leonardo Sommariva, Estrutura de Dados RESUMO: São inúmeras as aplicaçõe de grafos, bem como os problemas clássicos

Leia mais

GRAFOS Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira

GRAFOS Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira Ciência da Computação GRAFOS Aula 07 Algoritmos de Caminho Mínimo: Bellman-Ford / Floyd-Warshall Max Pereira Algoritmo de Bellman-Ford Arestas com valores negativos podem parecer inúteis, mas elas podem

Leia mais

Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 8 Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e implementação de alg. de Dijkstra Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente

Leia mais

Teoria dos Grafos Aula 23

Teoria dos Grafos Aula 23 Teoria dos Grafos Aula 23 Aula passada Apresentação de trabalhos Discussão da prova Subset sum Problema da mochila Aula de hoje Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 14 de março de 2018 Marco Antonio M. Carvalho

Leia mais

Grafos e Algoritmos de Busca

Grafos e Algoritmos de Busca Grafos e Algoritmos de Busca /65 Grafos e Algoritmos de Busca Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-93: Introdução a Algoritmos Grafos e Algoritmos

Leia mais

Algoritmos de roteamento

Algoritmos de roteamento Algoritmos de roteamento Determinam o caminho que os pacotes percorrem entre o remetente e o destino Grafo usado para formular problemas de roteamento G = (N, E) N nós roteadores E arestas enlaces Cada

Leia mais

Teoria dos Grafos Aula 7

Teoria dos Grafos Aula 7 Teoria dos Grafos Aula 7 Aula passada Implementação BFS DFS, implementação Complexidade Aplicações Aula de hoje Classe de funções e notação Propriedades da notação Funções usuais Tempo de execução Comparando

Leia mais

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO

TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO TEORIA DOS GRAFOS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MATEMÁTICA DISCRETA II PROFº MARCOS NASCIMENTO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas

Leia mais

Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 8 Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente

Leia mais

PAA-DCC-UFAM. Grafos. Universidade Federal do Amazonas Departamento de Eletrônica e Computação

PAA-DCC-UFAM. Grafos. Universidade Federal do Amazonas Departamento de Eletrônica e Computação Grafos Universidade Federal do Amazonas Departamento de Eletrônica e Computação Grafos () Um grafo é composto por um conjunto de vértices e um conjunto de arestas Cada aresta liga dois vértices do grafo

Leia mais

13 Hashing (parte 2) SCC201/501 - Introdução à Ciência de Computação II

13 Hashing (parte 2) SCC201/501 - Introdução à Ciência de Computação II 13 Hashing (parte 2) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir Ponti Jr. (ICMCUSP)

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 10: Caminho mínimo - Algoritmo de Dijskstra Preparado a partir do texto: Rangel,

Leia mais

Teoria dos Grafos Aula 5

Teoria dos Grafos Aula 5 Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema

Leia mais