Projeto e Análise de Algoritmos
|
|
|
- André Casado de Sequeira
- 9 Há anos
- Visualizações:
Transcrição
1 Projeto e Análise de Algoritmos Aula 06 Busca em Profundidade e Busca em Largura Edirlei Soares de Lima <[email protected]>
2 Grafos (Revisão) G = (V, A) G: grafo; V: conjunto de vértices; A: conjunto de arestas;
3 Grafos (Revisão) Grafos Direcionados Uma aresta (u, v) sai do vértice u e entra no vértice v. O vértice v é adjacente ao vértice u. Podem existir arestas de um vértice para ele mesmo, chamadas de self-loops.
4 Grafos (Revisão) Grafos Não Direcionados As arestas (u, v) e (v, u) são consideradas como uma única aresta. A relação de adjacência é simétrica. Self-loops não são permitidos.
5 Grafos (Revisão) Grau de um Vértice Em grafos não direcionados: é o número de arestas que incidem nele. Em grafos direcionados: é o número de arestas que saem dele (out-degree) mais o número de arestas que chegam nele (in-degree). Um vérice de grau zero é dito isolado ou não conectado.
6 Grafos (Revisão) Caminho entre Vértices Um caminho de comprimento k de um vértice x a um vértice y em um grafo G = (V, A) é uma sequência de vértices (v 0, v 1, v 2,..., v k ) tal que x = v 0 e y = v k, e v i V para i = 1, 2,..., k. O comprimento de um caminho é o número de arestas nele, isto é, o caminho contém os vértices v 0, v 1, v 2,..., v k e as arestas (v 0, v 1 ), (v 1, v 2 ),..., (v k-1, v k ). Se existir um caminho c de x a y então y é alcançável a partir de x via c.
7 Grafos (Revisão) Ciclos Em um grafo direcionado: um caminho (v 0, v 1,..., v k ) forma um ciclo se v 0 = v k e o caminho contém pelo menos uma aresta. O self-loop é um ciclo de tamanho 1. Em um grafo não direcionado: um caminho (v 0, v 1,..., v k ) forma um ciclo se v 0 = v k e o caminho contém pelo menos três arestas.
8 Grafos (Revisão) Componentes Conectados Um grafo não direcionado é conectado se cada par de vértices está conectado por um caminho. Os componentes conectados são as porções conectadas de um grafo. Um grafo não direcionado é conectado se ele tem exatamente um componente conectado.
9 Grafos (Revisão) Componentes Fortemente Conectados Um grafo direcionado G = (V, A) é fortemente conectado se cada dois vértices quaisquer são alcançáveis a partir um do outro. Os componentes fortemente conectados de um grafo direcionado são conjuntos de vértices sob a relação são mutuamente alcançáveis. Um grafo direcionado fortemente conectado tem apenas um componente fortemente conectado.
10 Grafos (Revisão) Outras Classificações de Grafos Um grafo ponderado possui pesos associados às arestas. Um grafo completo é um grafo não direcionado no qual todos os pares de vértices são adjacentes.
11 Grafos (Revisão) Representação de Grafos Lista de Adjacências: Consiste em um vetor Adj com V listas de adjacências, uma para cada vértice v V. Para cada u V, Adj[u] contém ponteiros para todos os vértices v tal que (u, v) A. Ou seja, Adj[u] consiste de todos os vértices que são adjacentes a u.
12 Grafos (Revisão) Representação de Grafos Matriz de Adjacências: Para um grafo G = (V, E), assumimos que os vértices são rotulados com números 1, 2,..., V. A representação consiste de uma matriz A ij de dimensões V V, onde: a ij = 1 se i, j A 0 caso contrario
13 Busca em Largura A busca em largura é um dos algoritmos mais simples para exploração de um grafo. Dados um grafo G = (V, E) e um vértice s, chamado de fonte, a busca em largura sistematicamente explora as arestas de G de maneira a visitar todos os vértices alcançáveis a partir de s. Expande a fronteira entre vértices descobertos e não descobertos uniformemente através da largura da fronteira. 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 grafo pode ser direcionado ou não direcionado.
14 Busca em Largura Algoritmo: Para controlar a busca, o algoritmo da Busca em Largura pinta cada vértice na cor branca, cinza ou preto. Todos os vértices iniciam com a cor branca e podem, mais tarde, se tornar cinza e depois preto. Branca: não visitado; Cinza: visitado; Preta: visitado e seus nós adjacentes visitados.
15 BuscaEmLargura(G, s) for each u V[G] c[u] white d[u] π[u] NULL c[s] gray d[s] 0 Q {s} //Queue while Q u head[q] for each v Adj[u] if c[v] = white c[v] gray d[v] d[u] + 1 π[v] u enqueue(q,v) dequeue(q) c[u] black Busca em Largura
16 for each u V[G] c[u] white d[u] π[u] NULL c[s] gray d[s] 0 Q {s} //Queue Busca em Largura
17 u head[q] for each v Adj[u] if c[v] = white c[v] gray d[v] d[u] + 1 π[v] u enqueue(q,v) dequeue(q) c[u] black Busca em Largura
18 u head[q] for each v Adj[u] if c[v] = white c[v] gray d[v] d[u] + 1 π[v] u enqueue(q,v) dequeue(q) c[u] black Busca em Largura
19 u head[q] for each v Adj[u] if c[v] = white c[v] gray d[v] d[u] + 1 π[v] u enqueue(q,v) dequeue(q) c[u] black Busca em Largura
20 Busca em Largura Análise BuscaEmLargura(G, s) for each u V[G] c[u] white d[u] π[u] NULL c[s] gray d[s] 0 Q {s} //Queue while Q u head[q] for each v Adj[u] if c[v] = white c[v] gray d[v] d[u] + 1 π[v] u enqueue(q,v) dequeue(q) c[u] black Cada vértice de V é colocado na fila Q no máximo uma vez: O(V); A lista de adjacência de um vértice qualquer de u é percorrida somente quando o vértice é removido da fila; A soma de todas as listas de adjacentes é O(A), então o tempo total gasto com as listas de adjacentes é O(A); Enfileirar e desenfileirar tem custo O(1); Complexidade: O(V + A)
21 Busca em Largura A partir de π é possível reconstruir a árvore da busca em largura:
22 Busca em Profundidade A estratégia é buscar o vértice mais profundo no grafo sempre que possível: As arestas são exploradas a partir do vértice v mais recentemente descoberto que ainda possui arestas não exploradas saindo dele. Quando todas as arestas adjacentes a v tiverem sido exploradas a busca anda para trás para explorar vértices que saem do vértice do qual v foi descoberto (backtraking). O algoritmo é a base para muitos outros algoritmos importantes, tais como verificação de grafos acíclicos, ordenação topológica e componentes fortemente conectados.
23 Busca em Profundidade Algoritmo: Para controlar a busca, o algoritmo da Busca em Largura pinta cada vértice na cor branca, cinza ou preto. Todos os vértices iniciam com a cor branca e podem, mais tarde, se tornar cinza e depois preto. Branca: não visitado; Cinza: visitado; Preta: visitado e seus nós adjacentes visitados.
24 Busca em Profundidade Algoritmo: A busca em profundidade também marca cada vértice com um timestamp. Cada vértice tem dois timestamps: d[v]: indica o instante em que v foi visitado (pintado com cinza); f[v]: indica o instante em que a busca pelos vértices na lista de adjacência de v foi completada (pintado de preto).
25 Busca em Profundidade BuscaEmProfundidade(G) for each u V[G] c[u] white π[u] NULL time 0 for each u V[G] if c[u] = white visita(u) visita(u) c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1
26 Busca em Profundidade for each u V[G] c[u] white π[u] NULL time 0 for each u V[G] if c[u] = white visita(u) u v y x w z c w w w w w w π / / / / / / d f
27 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c g w w w w w π / / / / / / d 1 f
28 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c g g w w w w π / u / / / / d 1 2 f
29 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c g g g w w w π / u v / / / d f
30 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c g g g g w w π / u v y / / d f
31 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c g g g b w w π / u v y / / d f 5
32 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c g g b b w w π / u v y / / d f 6 5
33 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c g b b b w w π / u v y / / d f 7 6 5
34 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c b b b b w w π / u v y / / d f
35 Busca em Profundidade for each u V[G] c[u] white π[u] NULL time 0 for each u V[G] if c[u] = white visita(u) u v y x w z c b b b b w w π / u v y / / d f
36 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c b b b b g w π / u v y / / d f
37 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c b b b b g g π / u v y / w d f
38 Busca em Profundidade c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 u v y x w z c b b b b b b π / u v y / w d f
39 Busca em Profundidade Análise BuscaEmProfundidade(G) for each u V[G] c[u] white π[u] NULL time 0 for each u V[G] if c[u] = white visita(u) visita(u) c[u] gray d[u] time time + 1 for each v Adj[u] if c[v] = white π[v] u visita(v) c[u] black f[u] time time + 1 O procedimento visita é chamado exatamente uma vez ara cada vértice u V, isso porque visita é chamado apenas para vértices brancos e a primeira ação é pintar o vértice de cinza: O(V); O loop principal de visita(u) tem complexidade O(A); Complexidade: O(V + A)
40 Busca em Profundidade Classificação de Arestas: Arestas de árvore: são arestas de uma árvore de busca em profundidade. A aresta (u, v) é uma aresta de árvore se v foi descoberto pela primeira vez ao percorrer a aresta (u, v); Arestas de retorno: conectam um vértice u com um antecessor v em uma árvore de busca em profundidade (inclui self-loops); Arestas de avanço: não pertencem à árvore de busca em profundidade mas conectam um vértice a um descendente que pertence à árvore de busca em profundidade; Arestas de cruzamento: podem conectar vértices na mesma árvore de busca em profundidade, ou em duas árvores diferentes.
41 Busca em Profundidade Classificação de arestas pode ser útil para derivar outros algoritmos. Na busca em profundidade cada aresta pode ser classificada pela cor do vértice que é alcançado pela primeira vez: Branco indica uma aresta de árvore. Cinza indica uma aresta de retorno. Preto indica uma aresta de avanço quando u é descoberto antes de v ou uma aresta de cruzamento caso contrário.
42 Exercícios Lista de Exercícios 06 Busca em Profundidade e Busca em Largura
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 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.
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
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
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,
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,
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
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
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:
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 13 Componentes Fortemente Conectados Edirlei Soares de Lima Componentes Fortemente Conectados Um componente fortemente conectado (Strongly Connected
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 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. 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
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
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
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
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
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:
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
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 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
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
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
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
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
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
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
Teoria dos Grafos. Teoria dos Grafos. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG. agosto
Teoria dos Grafos Introdução Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2017 O que é Grafo? Definição formal Um grafo G = (V (G), E(G)) é uma estrutura matemática que consiste de dois conjuntos:
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
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;
Teoria dos Grafos Aula 1 - Introdução
Teoria dos Grafos Aula 1 - Introdução Profa. Sheila Morais de Almeida Mayara Omai Universidade Tecnológica Federal do Paraná - Ponta Grossa 2018 Sheila Almeida e Mayara Omai (UTFPR-PG) Teoria dos Grafos
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
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
Árvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
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,
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
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
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
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
Introdução à Teoria dos Grafos
Introdução à Teoria dos Grafos Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Introdução à Teoria dos Grafos junho - 2018 1 / 38 Este material é preparado usando
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ê
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
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
CES-11. Árvores. Conceito de árvore. Definição recursiva de árvore Definições associadas a árvore. Ordenação dos nós de uma árvore
Árvores Conceito de árvore CES-11 Definição recursiva de árvore Definições associadas a árvore Representações de árvores Ordenação dos nós de uma árvore CONCEITO DE ÁRVORE Tantos as pilhas como as filas
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
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
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.
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
IPRJ PROJETO E ANÁLISE DE ALGORITMOS LISTA DE EXERCÍCIOS 10
IPRJ PROJETO E ANÁLISE DE ALGORITMOS LISTA DE EXERCÍCIOS 10 1) Uma grande festa vai acontecer no Reino das Nuvens! Finn e Jake estão no castelo da Princesa Jujuba planejando qual seria a melhor rota para
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
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
CONCEITOS BÁSICOS EM GRAFOS
Um grafo (simples) G é formado por um conjunto de vértices, denotado por V(G), e um conjunto de arestas, denotado por E(G). Cada aresta é um par (não ordenado) de vértices distintos. Se xy é uma aresta,
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
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
CES-11. Algoritmos e Estruturas de Dados
CES-11 Algoritmos e Estruturas de Dados CES-11 Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Conceito de árvore Tantos as pilhas como as filas são estruturas lineares, isto é, de uma única
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
MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO
MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO Profa. Kathya Collazos Linares *As aulas baseiam-se no material do Professor Antonio Alfredo Ferreira Loureiro; Jorge Figueiredo e Judith Gersting Árvore
Á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
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
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).
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,
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
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. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013
Teoria dos Grafos Aula 5 - Estruturas de Dados para Grafos Profª. Alessandra Martins Coelho março/2013 Estrutura é o que caracteriza o próprio grafo e independe da forma como ele é representado. A representação
Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
Aula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
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
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
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
