Algoritmo de Dijkstra
|
|
|
- Lorenzo Chagas Palha
- 8 Há anos
- Visualizações:
Transcrição
1 lgoritmo de Dijkstra
2 Caminhos mínimos em Grafos Considere um grafo orientado ponderado G = (V,E) em que cada aresta possui um rótulo não negativo associado que define o custo da aresta, e um dos vértices é especificado como origem. Nosso problema é determinar quais são os caminhos mais curtos do vértice origem para cada um dos demais vértices em V e os seus custos. O caminho mais curto ou mínimo é definido pelo o caminho cuja soma dos custos dos vértices encontrados no caminho é mínimo. Slide: Gustavo E..P.. Batista -
3 Grafo direcionado (arestas com setas ) (digrafo) Grafo ponderado grafos com pesos (arestas com números )
4 lgortimo de Dijkstra O algoritmo de Dijkstra permite encontrar o menor caminho entre um nó origem (ex. ) e todos os outros vértices do grafo
5 Dijkstra Inicia em, e verifica as saídas de De podemos ir para B D G Estabelecemos o custo olhando o peso das arestas
6 Dijkstra Custos De podemos ir para B = 20 D = 80 G = 90 Outros nós: Custo inito (não é possível acessar)
7 Dijkstra de B C D E F G H
8 Qual o menor custo? de B C D E F G H
9 Qual o menor custo? de B C D E F G H
10 Qual o menor custo? de B C D E F G H Já sabemos então que o menor caminho entre e B é de custo 20, e é formado pelo seguinte caminho:,b
11 Como já sabemos que o menor caminho saindo de é ir para B, vamos no próximo passo analisar o menor caminho entre B e os outros nós da rede.
12 Dijkstra Inicia em B, e verifica as saídas de B De B podemos ir para F Estabelecemos o custo olhando o peso das arestas
13 Dijkstra Custos De B podemos ir para F = 10 Outros nós: Custo inito (não é possível acessar)
14 Dijkstra Custos De B podemos ir para F = 10 O custo para chegar em F a partir de era inito. gora podemos chegar em F por meio de B O custo para chegar em F é então somado ao custo para chegar em B
15 Dijkstra de B C D E F G H de: B de: B
16 Dijkstra de B C D E F G H B 30 de: B
17 E o custo dos outros nós não acessíveis por B? Nada muda, copiamos então o custo anterior Exemplo: Custo para ir de até E: mantém inito Custo para ir de até G: 90 mantém 90
18 Qual o menor caminho? de B C D E F G H B de: B 90
19 Dijkstra de B C D E F G H B de: B 90 Já sabemos então que o menor caminho entre e F é de custo 30, e é formado pelo seguinte caminho:,b,f
20 Dijkstra Inicia em F, e verifica as saídas de F De F podemos ir para C D Estabelecemos o custo olhando o peso das arestas
21 Dijkstra Inicia em F, e verifica as saídas de F De F podemos ir para C = 10 D = 40 Outros nós: Custo inito (não é possível acessar)
22 Dijkstra Custos De F podemos ir para C = 10 O custo para chegar em C a partir de era inito. gora podemos chegar em C por meio de F O custo para chegar em C é então somado ao custo para chegar em F
23 Qual o menor caminho? de B C D E F G H B 80 F de: B 90
24 Qual o menor caminho? de B C D E F G H de: B 80 de: F de: B 90
25 Dijkstra Custos De F podemos ir para D = 40 O custo para chegar em D a partir de era 80. gora podemos chegar em D por meio de F O custo para chegar em D é então somado ao custo para chegar em F
26 Qual o menor caminho? de B C D E F G H de: B 80 de: F de: B 90
27 Qual o menor caminho? de B C D E F G H B 80 F de: B 90
28 ntes, para sair de e chegar em D o custo era 80 gora, para sair de e chegar em D, via F, o custo é 70. Então devemos manter este como sendo o menor caminho entre e D Não há mudanças nos outros caminhos de
29 Copiando os valores de B C D E F G H B 80 F de: B 90 90
30 Qual o menor caminho? de B C D E F G H B 80 F de: B 90 90
31 Qual o menor caminho? de B C D E F G H B 80 F de: B Já sabemos então que o menor caminho entre e C é de custo 40, e é formado pelo seguinte caminho:,b,f,c
32 Dijkstra Inicia em C, e verifica as saídas de C De C podemos ir para H D F Estabelecemos o custo olhando o peso das arestas
33 Dijkstra Custos De C podemos ir para H = 20 D = 10 F = 50
34 Dijkstra Custos De C podemos ir para H = 20 O custo para chegar em H a partir de era inito. gora podemos chegar em H por meio de C O custo para chegar em H é então somado ao custo para chegar em C
35 Qual o menor caminho? de B C D E F G H de: B 80 de: F de: F 90 de: 30 de: B 90 de: 90 de: C de:c
36 Qual o menor caminho? de B C D E F G H de: B 80 de: F de: F 90 de: 30 de: B 90 de: 90 de: C 60 de:c
37 Dijkstra Custos De C podemos ir para H = 20 D = 10 F = 50
38 Dijkstra Custos De C podemos ir para D = 10 O custo para chegar em D a partir de era 70. gora podemos chegar em D por meio de C O custo para chegar em D é então somado ao custo para chegar em C
39 Qual o menor caminho? de B C D E F G H de: B 80 de: F de: F 90 de: 30 de: B 90 de: 90 de: C 60 de:c
40 Qual o menor caminho? de B C D E F G H de: B 80 de: F de: F C de: C 90 de: 30 de: B 90 de: 90 de: 60 de:c
41 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C 90 de: 30 de: B 90 de: 90 de: 60 de:c
42 Dijkstra Custos De C podemos ir para H = 20 D = 10 F = 50
43 Dijkstra Custos De C podemos ir para F = 50 O custo para chegar em F a partir de era 30. gora podemos chegar em F por meio de C O custo para chegar em F é então somado ao custo para chegar em C
44 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C 90 de: 30 de: B de: C 90 de: 90 de: 90 de: 60 de:c
45 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C 90 de: 30 de: B 90 de: C 90 de: 90 de: 90 de: 60 de:c Com certeza o custo vindo de C será maior, pois já tínhamos determinado o menor caminho até F Na verdade, F nem seria verificado por já temos calculado o caminho mínimo
46 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C 90 de: 30 de: B 90 de: 90 de: 90 de: 60 de:c Já sabemos então que o menor caminho entre e D é de custo 50, e é formado pelo seguinte caminho:,b,f,c,d
47 Dijkstra Inicia em D, e verifica as saídas de D De D podemos ir para G C já foi determinado o menor caminho Estabelecemos o custo olhando o peso das arestas
48 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C 90 de: 30 de: B 90 de: 90 de: 90 de: D de: D 60 de:c
49 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C de: B D 70 de: D 60 de: C 60 de: C
50 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C de: B D 70 de: D 60 de: C 60 de: C Já sabemos então que o menor caminho entre e H é de custo 60, e é formado pelo seguinte caminho:,b,f,c,h
51 Dijkstra Inicia em H, e verifica as saídas de H De H não podemos ir para nenhum nó. Copia a tabela
52 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C de: B D 70 de: D H 70 de: D 60 de: C 60 de: C
53 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C de: B D 70 de: D H 70 de: D 60 de: C 60 de: C Já sabemos então que o menor caminho entre e G é de custo 70, e é formado pelo seguinte caminho:,b,f,c,d,g
54 Dijkstra Inicia em G, e verifica as saídas de G De G podemos ir para é a origem Basta copiar a tabela
55 Qual o menor caminho? de B C D E F G H B 80 F C 50 de: C de: B D 70 de: D H 70 de: D G 60 de: C 60 de: C Não há caminho para o vértice E a partir de
56
57 Slide: Gustavo E..P.. Batista -
58 Slide: Gustavo E..P.. Batista -
59 B C D E F G H Matriz C Vetor D B C D E F G H B 10 C D 20 E F G 20 H B C D E F G H B C D E F G H B C D E F G H B C D E F G H B C D E F G H B C D E F G H
60 Slide: Gustavo E..P.. Batista -
61 = Slide: Gustavo E..P.. Batista -
62 Uma modificação no algoritmo de Djikstra para determinar o caminho mais curto entre dois vértices dados.
63 void Caminho_mais_Curto(TipoGrafo *grafo, int origem, int destino) { int i, vert,k, NovaDist, min; int *M, *L, *, *caminho; M = (int *)malloc(grafo->numvertices*sizeof(int)); L = (int *)malloc(grafo->numvertices*sizeof(int)); = (int *)malloc(grafo->numvertices*sizeof(int)); caminho = (int *)malloc(grafo->numvertices*3*sizeof(int)); vetor auxiliar // incializando vairiaveis for (i=0; i<grafo->numvertices; i++) { } M[i] = 0; // false -- determina se um vertice ja foi visitado [i] = -1; // determina o caminho mais curto entre origem e destino L[i] = ; //inito determina o comprimento do caminho mais curto
64 vert = origem; L[vert] = 0; while (vert!= destino && vert!= -1) // não terminou ou caminho inexistente { for(i=0;i<grafo->numvertices; i++) // percorre vertices adjacentes de vert if (grafo->mat[vert][i]!= 0 && M[i]==0) // se aresta existe e ela não foi visitada { NovaDist = L[vert] + grafo->mat[vert][i]; if (NovaDist < L[i]) { L[i] = NovaDist; // atualiza menor distancia [i] = vert; // atualiza caminho } } M[vert] = 1; // toda a lista de adjacentes de vert já foi analisada min = ; //inito vert = -1; // valor invalido for (i=0; i<grafo->numvertices; i++) // encontra proximo vertice do caminho if (M[i]==0 && L[i] < min) //escolhe o vertice cuja aresta possui o menor peso { min = L[i]; // atualiza min vert = i; //atualiza vert } } //fim while
65 // listar o caminho mais curto entre origem e destino } if (vert == destino) // encontrou um caminho { printf("caminho mais curto entre %4d e %4d tem comprimento %4d: ", origem, destino, L[destino] ); caminho[0] = destino; k = 1; while (vert!= origem) { caminho[k]= [vert]; vert = [vert]; k++; } for (i=k-1; i>=0; i--) printf("%4d", caminho[i]); } else printf("nao exite caminho entre %4 e %4", origem, destino);
66 Considere o grafo: Execute manualmente o algoritmo dado e determine o caminho mais curto entre os vértices 0 e 3.
67 M L M L M L
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
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
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
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
Oalgoritmo de Dijkstra
Dijkstra Oalgoritmo de Dijkstra O algoritmo de Dijkstra, concebido pelo cientista da computação holandês Edsger Dijkstra em 1956 e publicado em 1959, soluciona o problema do caminho mais curto num grafo
Grafos: caminhos (matriz adjacência)
Grafos: caminhos (matriz adjacência) Algoritmos e Estruturas de Dados 2 Graça Nunes 1 O problema do menor caminho Um motorista deseja encontrar o caminho mais curto possível entre duas cidades do Brasil
AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado
AULA 11 PROJETO E ANÁLISE DE ALGORITMOS Conceitos básicos e representação de grafos Karina Valdivia Delgado Roteiro Motivação Conceitos básicos Representação Motivação Um grafo é uma abstração que permite
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
Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada [email protected], [email protected] Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,
INF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Algoritmo de Dijkstra 8 8 Algoritmo de Dijkstra 8 8 8 Algoritmo de Dijkstra 8 8 8 Algoritmo de Dijkstra 8 8 8 8 8
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 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria
Grafos - Representação
Grafos - Representação É importante salientar outra diferença relevante entre a representação de matriz de adjacência e a representação ligada de grafos. Na representação de matriz está implícita a possibilidade
Análise e Projeto de Algoritmos
Análise e Projeto de Algoritmos 2018.2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos
Eduardo Camponogara. DAS-9003: Introdução a Algoritmos
Caminhos Mínimos entre Todos os Vértices 1/ 48 Caminhos Mínimos entre Todos os Vértices Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: Introdução
Estruturas de Dados Grafos
Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:
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
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ê
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
GRAFOS Aula 03 Representações de Grafos Max Pereira
Ciência da Computação GRAFOS Aula 03 Representações de Grafos Max Pereira A maior vantagem de um grafo é a sua representação visual da informação. Mas para a manipulação e armazenamento em um computador,
GRAFOS E DIGRAFOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
GRAFOS E DIGRAFOS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos GRAFOS Definições Representação Algoritmos Busca Inserção (arestas e vértices) Exclusão (arestas e vértices) 1 4 5 6 GRAFOS Grafos
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
Definição e Conceitos Básicos
Definição e Conceitos Básicos Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Conceitos Básicos Em grafos ocorrem dois tipos de elementos: Vértices ou nós;
CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Ideia de Tarjan (1972) Durante a exploração em profundidade de um digrafo, podemos numerar seus vértices de
Demonstração. Relação invariante chave. Implementações do algoritmo de Prim. Implementação grosseira
Algoritmo de Prim Simulação S. Algoritmos em Grafos º sem / Franja A franja (= fringe) de uma subárvore T é o conjunto de todas as arestas que têm uma ponta em T e outra ponta fora Exemplo: As arestas
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 [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2015.1/tcc-00.254
Problemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
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
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
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
Análise de Algoritmos
Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo
Aula nº / Outubro/ 07. Problema do carteiro chinês
ula nº 10 2011/ Outubro/ 07 Problema do carteiro chinês efinição: Um ciclo de Hamilton (ou circuito de Hamilton) num grafo, é um ciclo que passa por todos os vértices desse grafo. efinição: Um grafo de
ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.
ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron
Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo
void subdivide (LISTA_ENC *pl, LISTA_ENC *pl1, LISTA_ENC *pl2) { int cont, k=1; for (cont=tam(*pl)/2;cont;cont--) {
void subdivide (LISTA_ENC *pl, LISTA_ENC *pl1, LISTA_ENC *pl2) { int cont, k=1; for (cont=tam(*pl)/2;cont;cont--) { } ins(pl1,recup(*pl,1),k++); ret(pl,1); } for (k=1, cont=tam(*pl);cont;cont--) { ins(pl2,recup(*pl,1),k++);
Teoria dos Grafos. Edson Prestes
Edson Prestes Introdução Grafo Estrela Um grafo estrela é um grafo bipartido de n vértices que possui um conjunto independente com um único vértice e o outro com n-1 vértices Quantos grafos estrelas podemos
Teoria dos Grafos Aula 3
Teoria dos Grafos Aula 3 Aula passada Exemplo (mapas) Definições Algumas propriedades Aula de hoje Representando grafos Matriz e lista Comparando tempos de acesso Grafo G=(V, E) Grafo V = conjunto de vértices
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,
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
Árvores Binárias e Busca. Jeane Melo
Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto
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
grafo nós vértices arcos arestas
GRAFOS E APLICAÇÕES 1. INTRODUÇÃO 1) Um grafo G = (V, E) consiste num conjunto de nós (ou vértices) V e num conjunto de arcos (ou arestas) E. Cada arco é representado por um par de nós. No seguinte exemplo,
Teoria dos Grafos. Edson Prestes
Edson Prestes Árvores Sabemos que com um ou dois vértices apenas uma árvore pode ser formada. Entretanto com três vértices podemos formar três árvores. Com quatro vértices temos quatro estrelas e doze
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
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.
Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo
Teoria dos Grafos Caminhos. Profª. Alessandra Martins Coelho
Teoria dos Grafos Caminhos Profª. Alessandra Martins Coelho junho/2014 Conexidade Em grande parte de aplicações do modelo em grafos, as relações que envolvem os vértices formam uma estrutura contínua;
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
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
Teoria dos Grafos. Edson Prestes
Edson Prestes Grafos Enumeração de Passeios/Caminhos O processo associado à enumeração de caminhos de um grafo/dígrafo é semelhante ao processo de contagem com a diferença de que usaremos uma matriz de
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
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:
Matrizes Esparsas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista
Matrizes Esparsas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto
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
Aula 15 Variáveis Indexadas (vetores)
Aula 15 Variáveis Indexadas (vetores) Além das variáveis normais já conhecidas, podemos ter também variáveis indexadas. Tais variáveis são referenciadas por um nome e um índice. Especialmente úteis para
CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Grafos Conceitos gerais e representações Algoritmos em grafos Exploração sistemática em largura Caminhos
Representações de Grafos
Representações de Grafos Teoria dos Grafos 1 É possível diversas representações dos grafos. Vamos estudar as três utilizadas mais comumente: as matrizes de adjacência, as listas de adjacência e as multilistas
INF1010 Lista de Exercícios 2
INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária
FATEC Zona Leste. Teoria dos Gráfos. Métodos Quantitativos de Gestão MQG
Teoria dos Gráfos Métodos Quantitativos de Gestão MQG Conceitualmente, um grafo consiste em um conjunto de vértices (pontos ou nós) e um conjunto de arestas (pontes ou arcos), ou seja, é uma noção simples,
