Estruturas de Dados Grafos
|
|
- Felipe Custódio Gameiro
- 5 Há anos
- Visualizações:
Transcrição
1 Estruturas de Dados Grafos Prof. Eduardo Alchieri
2 (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: V - conjunto não vazio: os vértices do grafo; A - conjunto de pares ordenados a=(v,w), v e w V: as arestas do grafo. Seja, por exemplo, o grafo G(V,A) dado por: V = {t t é um time de futebol} A = {(v,w) v é do mesmo estado de w} G1: Corintians São Paulo Santos Neste exemplo estamos considerando a relação v é do mesmo estado de w, que é uma relação simétrica Palmeiras
3 (conceitos) Digrafo (Grafo orientado) Considere o grafo definido a seguir: V = {t t é um time de futebol} A = {(v,w) v é melhor do que w} No caso de um digrado, as arestas são chamadas de arcos São Paulo Inter G2: Corintians Santos Palmeiras Neste exemplo estamos considerando a relação v é melhor do que w, que não é uma relação simétrica
4 G1: COR SPL SAN Grafos (conceitos) G2: COR SPL SAN PAL PAL Ordem: A ordem de um grafo G é dada pela cardinalidade do conjunto de vértices, ou seja, pelo número de vértices de G. Ordem de (G1) = 4 Adjacência: em um grafo não orientado, dois vértices v e w são adjacentes se há uma aresta a = (v,w) em G. Esta aresta é dita ser incidente a ambos, v e w. É o caso de SAN e PAL em G1. No caso de digrafos, a adjacência é dividida em: Sucessor: um vértice w é sucessor de v se há um arco de v para w. Em G2, COR é sucessor de SPL. Antecessor: um vértice v é antecessor de w se há um arco de v para w. Em G2, SPL é antecessor de COR.
5 G1: COR SPL PAL Grafos (conceitos) Grau: o grau de um vértice é dado pelo número de arestas que lhe são incidentes. Em G1, grau de SAN = 3 SAN No caso de digrafos, a noção de grau é dividida em: COR SPL Grau de emissão: corresponde ao número de arcos que partem de um vértice v Em G2, grau de emissão de COR = 1 Grau de recepção: corresponde ao número de arcos que chegam a um vértice v Em G2, grau de recepção de PAL = 2 Fonte: Um vértice v é uma fonte caso seu grau de recepção for zero. Exemplo, SPL em G2. Sumidouro: Um vértice v é um sumidouro caso seu grau de emissão for zero. Exemplo, PAL em G2. G2: PAL SAN
6 (conceitos) Grafo valorado: um grafo G(V,A) é dito ser valorado quando existe uma ou mais funções relacionando V e/ou A com um conjunto de números. Seja G(V,A) onde: V = {v v é uma cidade com aeroporto} A = {(v,w,t) <há linha aérea ligando v a w, sendo t o tempo esperado de voo>}
7 (conceitos) Multigrafo: um grafo G(V,A) é dito ser um multigrafo quando existem múltiplas arestas entre pares de vértices de G. No grafo G8, por exemplo, há duas arestas entre os vértices A e C e entre os vértices A e B, caracterizando-o como um multigrafo Subgrafo: um grafo G s (V s, A s ) é dito ser subgrafo de um grafo G(V,A) quando V s subgrafo de G 8. V e A s A. O grafo G 9, por exemplo, é
8 (conceitos) Grafo conexo: um grafo G(V,A) é dito ser conexo se há pelo menos uma cadeia ligando cada par de vértices deste grafo G Grafo desconexo: um grafo G(V,A) é dito ser desconexo se há pelo menos um par de vértices que não está ligado por nenhuma cadeia
9 (conceitos) Base: uma base de um grafo G(V,A) é um subconjunto B V, tal que: Dois vértices quaisquer de B não são ligados por nenhum caminho Todo vértice não pertencente a B pode ser atingido por um caminho partindo de B Anti-base: uma anti-base de um grafo G(V,A) é um subconjunto AB V, tal que: Dois vértices quaisquer de AB não são ligados por nenhum caminho De todo vértice não pertencente a AB pode ser atingir AB por um caminho
10 (conceitos) Raiz: se a base de um grafo G(V,A) é um conjunto unitário, então esta base é a raiz de G Anti-raiz: se a anti-base de um grafo G(V,A) é um conjunto unitário, então esta anti-base é a anti-raiz de G
11 (implementação) Matriz de Adjacência Cada posição na matriz é um arco Linha indica o nó de saida do arco Coluna indica o nó de chegada Valor da posição indica a existência ou não do arco (também pode indicar o peso associado ao arco) Deve ser utilizada para grafos densos, onde o número de arcos A é próximo do número de vértices ao quadrado V 2 Complexidade de espaço O(V 2 ) O tempo necessário para acessar um elemento é constante Ler ou examinar a matriz tem complexidade de tempo O(V 2 )
12 (implementação) Matriz de Adjacência
13 (implementação) Lista de Adjacência Os vértices de uma lista de adjacência são em geral armazenados em uma ordem arbitraria Possui uma complexidade de espaco O( V + A ) Indicada para grafos esparsos, onde A é muito menor do que V 2 É compacta e usualmente utilizada na maioria das aplicações Tempo O( V ) para determinar se existe uma aresta entre os vértices i e j, pois podem existir O( V ) vértices na lista de adjacentes do vertice i
14 (implementação) Lista de Adjacência
15 (aplicações) Muitos problemas reais podem ser reduzidos a problemas em grafos Vértices são cidades e arcos são estradas: os grafos auxiliam a tracar os caminhos e descobrir o caminho mais curto (ou mais longo) entre cidades Vértices são terminais de dispositivos eletrônicos e arcos representam as conexões entre esses terminais Vértices são tarefas em um projeto e arcos representam as dependências entre as tarefas
16 (busca) Busca: o objetivo de uma busca é explorar um grafo, i.e., obter um processo sistemático de como cominhar por seus vértices e arestas Raiz da busca: o vértice inicial da busca Existem basicamente dois tipos de busca Profundidade Largura Busca o mais profundo no grafo sempre que possível Busca primeiro nos vértices localizados a uma mesma distância da raiz de busca
17 (busca em profundidade) A estratégia é buscar o mais profundo no grafo sempre que possível Os arcos 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
18 (busca em profundidade - algoritmo) busca_profundidade (inicio, alvo, G) empilha(pilha, inicio); e marque inicio Enquanto!estaVazia(pilha) faça v = gettopo(pilha); Av = o conjunto de arestas\arcos de v ainda não exploradas em G Se (Av!= null) então retire um arco\aresta (v,w) de Av Se (w não está marcado) então Se (w == alvo) então retorne w; marque e empilhe w (empilhe(pilha,w)) Senão desempilhe(pilha); //retira v do topo da pilha retorne null;
19 (busca em profundidade - algoritmo) Execute o algoritmo com o seguinte digrafo G(V,A) V = {1,4,5,6,7,8} A = {(1,4), (4,5), (4,6), (1,7), (7,6), (7,8)} Considere o vértice inicial = 1 e o alvo = 8.
20 (busca em largura) Expande a fronteira entre vértices descobertos e não descobertos uniformemente através da largura da fronteira O algoritmo descobre todos os vertices a uma distância k do vértice de origem antes de descobrir qualquer vértice a uma distância k + 1
21 (busca em largura - algoritmo) busca_largura (inicio, alvo, G) enfileirar(fila,inicio); e marque inicio Enquanto!estaVazia(fila) faça v = desenfileirar(fila); Se (v == alvo) então retorne v; Av = o conjunto de arestas\arcos de v em G para cada (v,w) em Av tal que w não está marcado faça: marque e enfileire w (enfileirar(fila,w)) retorne null;
22 (busca em largura - algoritmo) Execute o algoritmo com o seguinte digrafo G(V,A) V = {1,4,5,6,7,8} A = {(1,4), (4,5), (4,6), (1,7), (7,6), (7,8)} Considere o vértice inicial = 1 e o alvo = 8.
23 (busca) Complexidade temporal de ambos os algoritmos de busca é O( V + A ) Complexidade espacial da busca em profundidade é O(h), onde h é o comprimento do mais longo caminho no grafo Complexidade espacial da busca em largura é O( V )
24 (Ordenamento Topológico) Uma ordenação topológica de um digrafo acíclico (DAG) é uma ordem linear de seus nós em que cada nó vem antes de todos nós para os quais este tenha arestas de saída Ordenaçao linear de todos os vértices, tal que se DAG contém uma aresta (u, v) então u aparece antes de v Pode ser vista como uma ordenação de seus vértices ao longo de uma linha horizontal de tal forma que todas as arestas estão direcionadas da esquerda para a direita Um grafo pode ter vários ordenamentos topológicos possíveis
25 (Ordenamento Topológico) Exemplo: Possíveis ordenações topológicas? 7, 5, 3, 11, 8, 2, 9, 10 3, 5, 7, 8, 11, 2, 9, 10 3, 7, 8, 5, 11, 10, 2, 9 5, 7, 3, 8, 11, 10, 9, 2 7, 5, 11, 3, 10, 8, 9, 2 7, 5, 11, 2, 3, 8, 9, 10
26 (Ordenamento Topológico) Algoritmo Simular no exemplo anterior!
27 (Ordenamento Topológico) Aplicações Programação de uma sequência de trabalhos ou tarefas Exemplo (escalonamento de tarefas):
28 (Caminho mais curto) Muitas das aplicações de grafos necessitam encontrar o caminho mais curto entre dois vertices de um grafo ponderado Para isso consideraremos um grafo com arestas ponderadas (valoradas), tanto direcionais como não direcionais, nos quais o peso se refere ao custo de atravessar a aresta (as unidades de custo dependem da aplicação) Exemplo: um grafo direcionado para representar uma rede de aeroportos Vértices representam os aeroportos Arestas representam os vôos disponíveis entre os aeroportos Custo das arestas podem representar: o tempo de vôo, o custo do vôo, a distância entre os aeroportos, etc.
29 (Caminho mais curto) Existem duas abordagens para se calcular o caminho mais curto Caminho mais curto a partir de uma única fonte Algoritmo de Djikstra Caminho mais curto entre todos os pares de vértices do grafo Algoritmo de Floyd
30 (Algoritmo de Djikstra) Escolhido um vértice como raiz da busca, este algoritmo calcula o custo mínimo deste vértice para todos os demais vértices do grafo O algoritmo pode ser usado sobre grafos orientados, ou não, e considera que todas as arestas possuem pesos não negativos (nulo é possível)
31 (Algoritmo de Djikstra) Seja G(V,A) um grafo direcionado e v um vértice de G: 1. Atribuição de distâncias: 0 ao vértice inicial v; aos demais. 2. Marcar todos os vértices como abertos (não visitados) e o inicial como atual 3. Para cada vértice aberto adjacente ao atual, atribua a distância estimada dele até o nó inicial. Se a distância for menor que a distância registrada, atualize o valor. 4. Depois de processar todos os nós abertos adjacentes ao atual, marque-o como fechado (visitado). Sua distância é final e mínima. 5. Escolha o nó aberto de menor distância como novo nó atual e vá para 3, termine se não houver.
32 (Algoritmo de Djikstra) Exemplo:
33 (Algoritmo de Djikstra) Aplicações Protocolos de roteamento dinâmicos (OSPF, IS-IS). Algoritmo de planejamento de rota. Análise de circuitos elétricos. Etc.
34 (Árvore Geradora de Custo Mínimo) Considere um grafo não direcionado e conectado; e que associada a cada arco há uma distância não negativa. O objetivo é encontrar o caminho mais curto de tal maneira que os arcos fornecam um caminho entre todos os pares de nós O subgrafo que conecta todos os vértices é uma árvore geradora. Essa árvore é uma árvore geradora mínima se o comprimento total é o menor possível Este subgrafo possui as seguintes propriedades Possui o mesmo conjunto de vértices do grafo É conexo É acíclico
35 (Árvore Geradora de Custo Mínimo) Podem haver várias árvores geradoras mínimas, com o mesmo comprimento Se cada arco tem um peso diferente, existe uma única árvore geradora mínima A árvore geradora mínima é o subgrafo de menor custo conectando todos os vértices
36 (Árvore Geradora de Custo Mínimo) Algoritmo de Prim: as arestas adicionadas ao subconjunto (árvore) devem ser as de mínimo peso que conectam a árvore a um vértice ainda não presente Entrada: um grafo G(V,A) conectado e ponderado (valorado) Inicialize V' = {u}, onde u é um nó arbitrário de V e A' = {} Repita até que V' = V: Escolha uma aresta (u, v) de A com o mínimo peso tal que u esteja em V' e v ainda não Adicione v a V' e (u, v) a A' Saída: subgrafo G'(V',A'), que é a árvore geradora mínima de G
37 (Árvore Geradora de Custo Mínimo) Exemplo:
38 (Árvore Geradora de Custo Mínimo) Exemplo de Aplicação: instalação de fíbras ópticas no campus de uma universidade Cada trecho de fíbra óptica entre os prédios possui um custo associado Um grafo fornece todas as conexões possíveis entre os prédios Uma árvore geradora fornece um modo de conectar todos os prédios sem redundância Uma árvore geradora mínima desse grafo nos daria uma árvore com o menor custo para fazer essa ligação
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.
Leia maisConceito 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),
Leia maisDefinições Básicas para Grafos
Definições Básicas para rafos RAFO Um grafo (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), v e w V:
Leia maisConceitos 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
Leia maisTeoria dos grafos. FATEC Carapicuíba Augusto de Toledo Cruz Junior
Teoria dos grafos FATEC Carapicuíba Augusto de Toledo Cruz Junior Teoria dos grafos HISTÓRICO 2 Origem O artigo do matemático e físico suiço Leonhard Euler, publicado em 1736, sobre o problema das Sete
Leia maisAULA 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
Leia maisGrafos: 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 maisProjeto 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 maisTeoria 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 maisGRAFOS. 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
Leia maisINF 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 maisESTRUTURAS 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
Leia maisBusca 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 maisGRAFOS 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 maisTeoria 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
Leia maisINF 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 maisCap. 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
Leia maisÁ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 maisUNIVERSIDADE 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 maisUNIVERSIDADE 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 maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Classe de funções e notação Propriedades da notação Funções usuais Aula de hoje Grafos direcionados Busca em grafos direcionados Ordenação topológica Tempo de execução
Leia maisBusca 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 maisVolmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas
Leia maisGrafos - Motivação. Grafos - Motivação. Algoritmos e Estruturas de Dados II Introdução a Grafos
Algoritmos e Estruturas de Dados II Introdução a Profa. M. Cristina/ Profa. Rosane (2010) Material de aula original: Profa. Josiane M. Bueno - Motivação : conceito introduzido por Euler, em 1736 Problema
Leia maisGrafos COM11087-Tópicos Especiais em Programação II
Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg
Leia maisDisciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa
Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Aula -Grafos Uma figura vale por mil palavras A representação de dados e ou informações utilizando de recursos visuais é, em muitos casos,
Leia maisDepartamento de Engenharia de Produção UFPR 57
Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem
Leia maisGrafos: 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 maisUNIP - 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
Leia maisGrafos IFRN. Prof. Robinson Alves
Grafos IFRN Prof. Robinson Alves Problema do Caixeiro Viajante Consiste em determinar o menor caminho, passando por todos os vértices uma única vez e retornando ao vértice de origem Métodos: Tentativa
Leia maisGrafos - 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 maisAlgoritmos 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)
Leia maisCT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches
CT-2 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-2 8) Algoritmos em grafos Conceitos básicos, representações, explorações sistemáticas Definição
Leia maisIFRN. Introdução à Teoria dos Grafos. Prof. Edmilson Campos
IFRN Introdução à Teoria dos Grafos Prof. Edmilson Campos Conteúdo Histórico Aplicações Definições Grafo Dígrafo Ordem, adjacência e grau Laço Tipos de grafos Representação de Grafos Matriz de adjacências
Leia maisTGR 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 maisGrafos: 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 maisGrafos. 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 maisProf. Marco Antonio M. Carvalho
Prof. Marco Antonio M. Carvalho Lembretes! Lista de discussão! Endereço:! programaacao@googlegroups.com! Solicitem acesso:! http://groups.google.com/group/programaacao! Página com material dos treinamentos!
Leia maisgrafo 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,
Leia maisCES-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
Leia maisMatemática Discreta 10
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas
Leia maisDefinição e Conceitos Básicos
Definição e Conceitos Básicos Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Conceitos Básicos Em grafos ocorrem dois tipos de elementos: Vértices ou nós;
Leia maisGrafos: 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 maisParte 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
Leia mais01 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 maisTeoria 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:
Leia maisGrafos Orientados (digrafos)
Grafos Orientados (digrafos) Grafo Orientado ou digrafo Consiste em um grafo G = (V,A) onde V = {v 1,, v n } é um conjunto de vértices e A = {a 1,, a k } é um conjunto de arcos tais que a k, k=1,,m é representado
Leia maisAná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 maisGrafos IFRN. Robinson Alves
Grafos IFRN Robinson Alves Introdução Problema das Pontes de Königsberg No século 18 havia na cidade de Königsberg(antiga Prússia) um conjunto de sete pontes (identificadas pelas letras de a até f nas
Leia maisBusca 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 maisTeoria dos Grafos. Edson Prestes
Edson Prestes As arestas possuem a função de indicar o relacionamento(espacial, comportamental, temporal) entre os elementos de um grafo. Em diversas situações esta relação não é simétrica, ou seja, par
Leia maisMATEMÁ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
Leia maisCES-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
Leia maisAlg l ori r t i m t os e E str t u r tu t ra r s d e D ados I I Intr t o r duçã ç o ã a a Gr G a r f a o f s P of o a. M. C r C ist s ina n a /
Algoritmos e Estruturas de Dados II Introdução a Grafos Profa. M. Cristina / Profa. Rosane (2012) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:
Leia maisAlgoritmos e Estruturas de Dados II Introdução a Grafos. Divisão do arquivo
Algoritmos e Estruturas de Dados II Introdução a Profa. M. Cristina / Profa. Rosane (2010/11) Baseado no material de aula original: Profª. Josiane M. Bueno Divisão do arquivo 1ª parte: Motivação Definição:
Leia maisSCC Modelagem Computacional em Grafos Introdução a Grafos
SCC0216 - Modelagem Computacional em Grafos Introdução a Grafos Prof. Alneu (alneu@icmc.usp.br ) / Profa. Rosane (rminghim@icmc.usp.br) PAE: Alan (alan@icmc.usp.br) / Henry (henry@icmc.usp.br) Baseado
Leia maisTeoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
Leia maisÁrvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Leia maisProva 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 mais2 Definição do Problema
Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo
Leia maisESTRUTURA DE DADOS. Árvores, árvores binárias e percursos. Cristina Boeres
ESTRUTURA DE DADOS Árvores, árvores binárias e percursos Cristina Boeres 2 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos árvore genealógica diagrama hierárquico de uma
Leia maisOalgoritmo 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
Leia maisAlgoritmos e Estruturas de Dados II Grafos conceitos gerais. Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M.
Algoritmos e Estruturas de Dados II Grafos conceitos gerais Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M. Bueno - Motivação Grafos: conceito introduzido por Euler, em 1736
Leia maisBCC402 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 maisTeoria dos Grafos. Profa. Alessandra Martins Coelho
Teoria dos Grafos Profa. Alessandra Martins Coelho fev/2014 Avaliação 2 Provas 30 pontos cada; 3 Implementações 10 pontos cada; 1 Seminário 10 pontos; Listas de exercícios Listas não valem nota, entretanto...
Leia maisPesquisa 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
Leia maisGrafos 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 maisSub-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 maisGrafos representação e aplicações. Prof. Guilherme Tomaschewski Netto
Grafos representação e aplicações Prof. Guilherme Tomaschewski Netto guilherme.netto@gmail.com Roteiro! Contextualização! Apresentação, um pouco de história! Conceitos Grafos! Principais aplicacões! Estruturas
Leia mais05 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 maisTeoria 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 antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos direcionados (Digrafos) Preparado a partir do texto:
Leia maisTEORIA 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 maisTeoria 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
Leia maisESTRUTURAS 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 maisTeoria dos Grafos. Edson Prestes
Edson Prestes Introdução Um passeio entre os nós i e j é uma seqüência alternada de nós e arestas que começa no nó i e termina no nó j. G 1 G 2 Um exemplo de passeio entre os nós 1 e 4 do grafo G 1 é (1,(1,3),3,(2,3),2,(1,2),1,(1,4),4).
Leia maisFábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ
Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de
Leia maisGrafos: 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 maisGRAFOS 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 maisAlgoritmos e Estruturas de Dados II Grafos conceitos gerais. Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M.
Algoritmos e Estruturas de Dados II conceitos gerais Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M. Bueno Valorados Um grafo valorado (ponderado/com pesos) G(V,A) consiste
Leia maisGRAFOS 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,
Leia maisFacebook. Um grafo é uma rede. Estrutura de dados fundamental em Informática, tal como listas e árvores.
Grafos Introdução Grafos Introdução Fernando Lobo Algoritmos e Estrutura de Dados II Estrutura de dados fundamental em Informática, tal como listas e árvores. Há muitos algoritmos interessantes sobre grafos.
Leia maisCAP4. ELEMENTOS DA TEORIA DE GRAFOS. Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E) , sendo:
Matemática Discreta ESTiG\IPB Cap4. Elementos da Teoria de Grafos pg 1 CAP4. ELEMENTOS DA TEORIA DE GRAFOS Grafo [graph]. Estrutura que consiste num par ordenado de conjuntos, G ( V, E), sendo: Exemplos
Leia maisAula 2 Definições, Conceitos Básicos e Representação Interna de Grafos. Teoria dos Grafos Prof.
Teoria dos Grafos Aula 2 Definições, Conceitos Básicos e Representação Interna de Grafos Jorge Figueiredo Aula 2-1 Definições Dois tipos de elementos: Vértices ou nós. Arestas. v3 v1 v2 v4 v5 v6 Jorge
Leia maisGRAFOS 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
Leia maisGrafos: á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 maisSCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013
SCC603 Algoritmos e Estruturas de Dados II Prof.a Rosane Minghim 1o sem. 2013 Lista de Exercícios 1 1) Escrever em C funções para: a) Obter todos os nós adjacentes (vizinhos) a um nó do grafo, dado que
Leia maisPercursos em um grafo
Percursos em um grafo Definição Um percurso ou cadeia é uma seqüência de arestas sucessivamente adjacentes, cada uma tendo uma extremidade adjacente à anterior e a outra a subsequente (à exceção da primeira
Leia maisTeoria dos Grafos. Motivação
Teoria dos Grafos Aula 1 Primeiras Ideias Prof a. Alessandra Martins Coelho março/2013 Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões entre pares de objetos: Existe
Leia maisTeoria 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
Leia maisIntroduçã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
Leia maisMatemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação
Aula 06: Teoria dos Grafos Tópico 01: Grafos e suas Representações Nesta aula nós passamos a estudar um outro assunto, mas que também tem muita aplicação na vida prática, a Teoria dos Grafos. Para esta
Leia maisAlgoritmos em Grafos COM11087-Tópicos Especiais em Programação I
Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema
Leia maisAlgoritmos 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
Leia maisO grau de saída d + (v) de um vértice v é o número de arcos que tem
Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o
Leia maisGrafos 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 maisCAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)
1 Algoritmos em Grafos: Introdução R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Março de 2011 Índice 2 Revisão de conceitos e definições Exemplificar aplicações Representação
Leia maisOtimizaçã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 maisGrafos 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 maisGRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira
Ciência da Computação GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira Árvore Geradora (spanning tree) É um subconjunto de um grafo G que possui todos os vértices
Leia mais