Grafos: algoritmos de busca
|
|
|
- Gabriela Casqueira Marinho
- 9 Há anos
- Visualizações:
Transcrição
1 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 permitam reconhecer se o vértice foi ou não visitado aplicações em computação gráfica, compiladores, etc busca em grafos exemplos de algoritmos de busca da literatura pesquisa em extensão / largura / amplitude (breadth-first search - BFS) pesquisa em profundidade (depth-first search - DFS) em geral esses algoritmos assumem a estrutura de dados lista de adjacências LA para representar os seus grafos estruturas de dados para armazenar os vértices descobertos, mas ainda não completamente explorados: fila busca em largura pilha busca em profundidade 1
2 busca em largura / extensão / amplitude (breadth-first search - BFS) o grafo pode ser direcionado e não direcionado descobre as arestas de G que são alcançáveis a partir de um vértice origem s computa a distância (em número de arestas) de s para os vértices que são alcançáveis o algoritmo descobre todos os vértices a uma distância k do vértice origem antes de descobrir qualquer vértice a uma distância k+1 (o caminhamento é feito na largura), ou seja, o método visita todos os sucessores de um vértice antes de visitar os sucessores de seus sucessores busca em largura algoritmo estruturas de dados: grafo G(V,A) representado pela lista de adjacência LA vetor C[u], cor de cada vértice, u V vetor P[u], predecessor de cada vértice u V. Se u não tem predecessor ou ainda não foi descoberto P[u] é igual a 1 vetor D[u]: distância de cada vértice u V ao vértice s (origem) fila F: contém os vértices já descobertos na largura 2
3 busca em largura algoritmo cores dos vértices: branco: não visitados ainda cinza: vértice descoberto mas não teve a sua lista de adjacência totalmente examinada preto: vértice descoberto que já teve a sua lista de adjacência totalmente examinada se (u,v) A e o vértice u é preto, o vértice v tem que ser cinza ou preto vértices cinza podem ter alguns vértices adjacentes brancos e eles representam a fronteira entre vértices descobertos e não descobertos cada vértice é colocado e retirado da fila somente uma única vez funções ENQUEUE (enfileira) e DEQUEUE (tira da fila): operações sobre uma fila FIFO algoritmo de busca em largura: BFS(G) para cada vértice u V faça {para cada vértice pertencente ao grafo} C[u] branco; {inicialização de cada vértice para branco (não descoberto)} P[u] -1; {predecessor do vértice desconhecido} D[u] infinito; {distância como infinito} para cada vértice s V faça {para cada vertice origem} se (C[s] = branco) {escolha do vértice origem s} então C[s] cinza; {inicialização de s com cinza (considerado descoberto)} D[s] 0; {distância para o próprio vértice s é zero} ENQUEUE (F,s); {a fila F contém inicialmente apenas o vértice origem s (irá conter apenas {os vértices cinza, descobertos em largura)} enquanto (F <> ) faça {o loop é executado até que a fila esteja vazia, ou seja, não haja vértices cinza} u DEQUEUE (F); {vértice u contém o primeiro elemento da fila F, retira-se um vértice da fila} para cada vértice v LA[u] faça {para cada vértice pertencente à lista de adjacência de u que não foi} se (C[v] = branco) { descoberto ainda (igual a branco)} então C[v] cinza; {marca como descoberto (cinza)} D[v] D[u] + 1; {calcula a sua distância até s} P[v] u; {marca o seu predecessor como u} ENQUEUE (F,v); {e o coloca na fila F} C[u] preto; {quando todos os vértices adjacentes a u forem examinados, u passa a ser preto} {enquanto} {então} fim. {algoritmo} 3
4 algoritmo de busca em largura exemplo aplicação da busca em largura: caminho mais curto através da busca em largura, obtém-se o caminho mais curto (distância = número de arestas) de s V para os vértices que são alcançáveis em G o algoritmo BFS(G,s) constrói uma árvore de busca em largura que é armazenada na variável vetor P o procedimento abaixo imprime os vértices do caminho mais curso entre o vértice origem (s) e outro vértice qualquer do grafo: procedimento IMPRIME_CAMINHO (VO, V :inteiro); {VO = vértice origem} se (VO = V) então escreva (VO) senão se (P[V] = -1) então escreva ( Não existe caminho de,vo, até,v) senão IMPRIME_CAMINHO (VO, P[V]); escreva (V); 4
5 busca em profundidade (depth-first search - DFS) a estratégia é buscar o vértice mais profundo no grafo sempre que possível inicia em qualquer vértice ve e, em seguida, é buscado um vértice v adjacente a este as arestas são exploradas a partir do vértice v recentemente descoberto quando todas as arestas adjacentes a v tiverem sido exploradas, a pesquisa volta para explorar as outras arestas do vértice ve do qual v foi descoberto se ainda assim existir vértice não descoberto, então um novo vértice é selecionado e o processo começa novamente busca em profundidade algoritmo estruturas de dados: grafo G(V,A) representado pela lista de adjacência LA vetor C[u], cor de cada vértice, u V vetor P[u], predecessor de cada vértice u V. Se u não tem predecessor ou ainda não foi descoberto P[u] é igual a -1 vetor D[u]: marca quando o vértice é descoberto (de branco para cinza) vetor T[u]: marca quando o vértice é terminado (de cinza para preto) variável de tempo (TEMP): indica o instante em que o vértice é descoberto e terminado (carimbo de tempo) 5
6 busca em profundidade algoritmo cores dos vértices: no acompanhamento do progresso do algoritmo, cada vértice pode ser colorido de branco, cinza e preto branco: não visitados ainda. Nenhum vértice volta a ser branco cinza: vértice descoberto mas não teve a sua lista de adjacência totalmente examinada preto: vértice descoberto que já teve a sua lista de adjacência totalmente examinada e está terminado função visita_dfs: percorre recursivamente o grafo em profundidade algoritmo de busca em profundidade: DFS(G) TEMP 0; para cada i V[G] faça C[i] branco; P[i] -1; {inicialização do contador de tempo global} {para cada vértice i V[G]} {inicialização de cada vértice para branco (não descoberto)} {predecessor do vértice desconhecido} para cada i V[G] faça {para cada vértice i V[G]} se (C[i] = branco) {para cada vértice ainda não descoberto,..} então VISITA_DFS (i); {faz a pesquisa em profundidade} 6
7 busca em profundidade procedimento VISITA_DFS (i); C[i] cinza; {inicialização de cada vértice visitado de cinza} TEMP TEMP +1; D[i] TEMP; {atribui tempo da descoberta} para cada vértice v LA[i] faça {para cada vértice pertencente à lista de adjacência de i} se (C[v] = branco) então P[v] i; {atribui seu predecessor} VISITA_DFS (v); {é chamado uma única vez para cada vértice branco} C[i] preto; {teve sua lista de adjacências totalmente visitada e está terminado} TEMP TEMP +1; T[i] TEMP; {atribui tempo de término} algoritmo de busca em profundidade exemplo 7
8 classificação de arestas na busca em profundidade empregada para reunir informações importantes sobre o grafo aresta de árvore (u,v) quando v é descoberto pela primeira vez ao percorrer a aresta cor do vértice que é alcançado pela primeira vez a partir de u: branco no exemplo anterior, arestas (0,1), (1,2) são arestas de árvores aresta de retorno (u,v) conecta um vértice u com um antecessor v cor do vértice que é alcançado pela primeira vez a partir de u: cinza laços são considerados arestas de retorno no exemplo anterior, as arestas (2,0) e (2,2) são arestas de retorno aresta de avanço ou diretas (u,v) quando u é descoberto antes de v cor do vértice que é alcançado pela primeira vez a partir de u: preto liga um vértice visitado a um completamente explorado aresta de cruzamento (u,v) quando v é descoberto antes de u cor do vértice que é alcançado pela primeira vez a partir de u: preto no exemplo anterior, a aresta (3,1) é aresta de cruzamento arestas da busca em profundidade em um grafo não-orientado tem-se arestas da árvore arestas de retorno em um grafo orientado tem-se arestas da árvore arestas de avanço arestas de retorno arestas de cruzamento algumas aplicações da busca em profundidade pode ser usado para determinar se um grafo não orientado é conexo se for possível estabelecer um caminho de qualquer vértice para qualquer outro vértice de um grafo, diz-se que o grafo é conexo determinar se um grafo é acíclico ou se contém um ou mais ciclos um grafo acíclico é um grafo sem ciclos 8
9 outra opção de algoritmo de busca em profundidade o algoritmo pode ser reescrito utilizando uma pilha para eliminar a recursão logo que é encontrado o primeiro vértice w adjacente a v a) visita-se o nó w b) coloca-se o nó v em uma pilha c) faz-se v receber w no passo c), o processo de considerar nós adjacentes do (antigo) vértice v é interrompido, passando-se a procurar vértices adjacentes a w após visitar um vértice e tomá-lo como (novo) vértice v, se ele não tiver nós adjacentes ainda não visitados, toma-se como (novo) nó v aquele colocado no topo da pilha busca em largura x busca em profundidade existem problemas que são facilmente resolvidos usando busca em largura e outros usando busca em profundidade para determinar a existência de ciclos em grafos orientados mais conveniente usar busca em profundidade para determinar se um grafo é bipartido ou encontrar a menor distância de um vértice aos demais mais conveniente usar a busca em largura 9
10 Exercício 1) Considere o grafo G(V,A) com V = {1, 2, 3, 4, 5, 6} e A = {(1,2), (1,3), (2,6), (3,6), (5,2), (5,6), (4,6)}. Apresente o resultado da pesquisa em largura (ordem de descoberta dos vértices), considerando s=1. Exercício 2) Apresente o caminho mais curto (as arestas) entre o vértice origem (s = 1) e o vértice 4, utilizando o procedimento IMPRIME_CAMINHO no grafo do exercício anterior. Exercício 3) Apresente a operação de BFS sobre o grafo não orientado abaixo, assim como a distância (número de arestas) de cada vértice ao vértice s (vértice 1). Exercício 4) Apresente o caminho mais curto (as arestas) entre o vértice origem (s = 1) e o vértice 7, utilizando o procedimento IMPRIME_CAMINHO no grafo do exercício anterior. 10
11 Exercício 5) Apresente o andamento do algoritmo DFS de pesquisa sobre o grafo orientado abaixo assim como os tempos de descoberta e término (d/t) de cada vértice. Exercício 6) Que tipo de informação um programa (do tipo DFS) pode devolver para comprovar que o grafo não tem ciclo (é acíclico)? Exercício 7) Reescreva o algoritmo DFS, utilizando uma pilha para eliminar a recursão (veja Veloso P. Estruturas de Dados). 11
Busca em Profundidade e em Largura
Busca em Profundidade e em Largura Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Mais sobre Caminhos TEOREMA: Se um grafo possui exatamente 2 vértices de
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
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.
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
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
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
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
Teoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
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
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
Busca em largura. Algoritmos em Grafos. Marco A L Barbosa
Busca em largura 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 Exemplo de
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
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,
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:
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,
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
Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 10: Introdução aos Grafos História O assunto que se constitui no marco inicial da teoria de grafos é na realidade um problema algorítmico.
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
Pesquisa em Grafos. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/ / 33
Pesquisa em Grafos Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/2015 1 / 33 Pesquisa em Grafos Uma das tarefas mais importantes é saber percorrer um grafo, ou seja
Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???
Teoria dos Grafos Introdução Prof. Humberto Brandão [email protected] aula disponível no site: http:bcc.unifal-mg.edu.br~humberto Universidade Federal de Alfenas Departamento de Ciências Exatas
Grafos. Notas. Notas. Notas. Notas. Algoritmos elementares. Representação de grafos Lista de adjacências Matriz de adjacências Atributos
Grafos Algoritmos elementares Conteúdo Introdução Representação de grafos Lista de adjacências Matriz de adjacências Atributos Pesquisas Busca em largura Aplicações Ordenação topológica Componentes fortemente
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
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
Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto
Grafos representação e aplicações Prof. Guilherme Tomaschewski Netto [email protected] Roteiro! Contextualização! Apresentação, um pouco de história! Conceitos Grafos! Principais aplicacões! Estruturas
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
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
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
Algoritmos em Grafos
Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)
Cap. 2 Conceitos Básicos em Teoria dos Grafos
Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os
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
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
Algoritmos e Estruturas de Dados II
Algoritmos e Estruturas de Dados II Organização Revisão (DFS) Exemplo de Execução (DFS) Grafos V: e Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis
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
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.
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
CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01
. CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence
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
GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?
8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I [email protected] Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema
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
DFS: Depth-First Search (pesquisa em profundidade) Percursos e Conectividade em Grafos Depth-First Search. Implementação de DFS
DFS: Depth-First Search (pesquisa em profundidade) Percursos e Conectividade em Grafos Depth-First Search Fernando Lobo Algoritmos e Estrutura de Dados II Assim que se descobre um nó, começa-se logo a
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 8 Grafos Estrutura de Dados 1 Grafos - Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões
Matemática Discreta - Exercícios de Grafos
UALG - 0/0 1. Seja G o grafo cuja matriz de adjacência é: 1 8 9 1 8 9 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
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
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 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,
Conceito Básicos da Teoria de Grafos
1 Conceito Básicos da Teoria de Grafos GRAFO Um grafo G(V,A) é definido pelo par de conjuntos V e A, onde: V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a=(v,w),
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ê
Edital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 053/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
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: 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
MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47
1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado
Problema. Quantas cores são necessárias para pintar este mapa? Número. Cromático. Estruturas de Dados - Grafos. Problema. Problema
Problema Número Quantas cores são necessárias para pintar este mapa? romático Problema Problema Problema Um problema mais complicado este? Número cromático oloridos ótimos menor número de cores necessárias
8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
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
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática
Introdução a Grafos Letícia Rodrigues Bueno
Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de
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,
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
Matemática Discreta 10
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti [email protected] - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas
Parte B Teoria dos Grafos
45 Parte B Teoria dos Grafos B. Grafos e Subgrafos Um grafo G é uma tripla ordenada (V(G), E(G), ), constituindo de um conjunto não vazio V(G) de vértices, um conjunto disjunto E(G) das arestas e uma função
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
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
APLICAÇÕES DE BUSCA EM GRAFOS
APLICAÇÕES DE BUSCA EM GRAFOS David Krenkel Rodrigues de Melo [email protected] Prof. Leonardo Sommariva, Estrutura de Dados RESUMO: São inúmeras as aplicaçõe de grafos, bem como os problemas clássicos
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).
Conceitos Básicos da Teoria de Grafos
Conceitos Básicos da Teoria de Grafos Universidade Federal do Pampa - UNIPAMPA Engenharia da Computação Estrutura de Dados Profª Sandra Piovesan Grafos Uma noção simples, abstrata e intuitiva. Representa
CI065 CI755 Algoritmos e Teoria dos Grafos
CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices
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
Algoritmos em Grafos
Algoritmos em Grafos Letícia Rodrigues Bueno UFABC Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar problemas; Grafos: ferramenta fundamental de abstração; Abstraímos
CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01
. CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence
SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
