BCC204 - Teoria dos Grafos

Documentos relacionados
Teoria dos Grafos Aula 6

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

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

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

Teoria dos Grafos Aula 5

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

Pesquisa em Grafos. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/ / 33

BCC204 - Teoria dos Grafos

Grafos: algoritmos de busca

INF 1010 Estruturas de Dados Avançadas

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

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos

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

INF 1010 Estruturas de Dados Avançadas

Projeto e Análise de Algoritmos

BCC204 - Teoria dos Grafos

Grafos e Algoritmos de Busca

Pesquisa em Grafos. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/ / 48

Prof. Marco Antonio M. Carvalho

Algoritmos e Estruturas de Dados II

Grafos Parte 1. Aleardo Manacero Jr.

Aula 09. Percurso em grafo

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

Grafos IFRN. Prof. Robinson Alves

Pesquisa em Grafos. Pedro Ribeiro 2016/2017 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2016/ / 52

grafo nós vértices arcos arestas

8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38

Conteúdo. Histórico. Notas. Teoria dos Grafos BCC204. Notas. Notas. 1736: Euler e as Pontes de Königsberg

Busca em Profundidade e em Largura

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto

Algoritmos em Grafos

BCC204 - Teoria dos Grafos

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

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

Algoritimos e Estruturas de Dados III CIC210

Grafos COM11087-Tópicos Especiais em Programação II

INF1010 Lista de Exercícios 2

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

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

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

Estruturas de Dados Grafos

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

PCC173 - Otimização em Redes

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

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos

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.

Notas 1 / 14. Notas. todos os pares de pontos devem ser ligados por ao menos um percurso; usaremos um mínimo possível de ligações. 2 / 14.

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

BCC204 - Teoria dos Grafos

Busca em largura. Algoritmos em Grafos. Marco A L Barbosa

CI065 CI755 Algoritmos e Teoria dos Grafos

PCC173 - Otimização em Redes

Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP

CT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Análise e Síntese de Algoritmos

Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???

Resolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial

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

PCC173 - Otimização em Redes

Algoritmos e Estruturas de Dados

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Árvores: Conceitos Básicos e Árvore Geradora

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

Teoria dos Grafos Aula 8

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

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

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

Teoria dos Grafos Aula 8

Resolução de problemas por meio de busca. Inteligência Artificial. Formulação de problemas. Estratégias de busca

DFS: Depth-First Search (pesquisa em profundidade) Percursos e Conectividade em Grafos Depth-First Search. Implementação de DFS

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I

GRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?

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

BCC204 - Teoria dos Grafos

Algoritmo de Dijkstra Estudo e Implementação

Pesquisa em profundidade. 1 - Grafos não dirigidos

Teoria dos Grafos Aula 8

Árvore Geradora Mínima

não descobertos descobertos explorados descoberta cruzamento

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

CIC 111 Análise e Projeto de Algoritmos II

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

Árvores Árvores Geradoras de Custo Mínimo 0/16

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

Universidade Federal de Alfenas

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

Teoria dos Grafos. Árvores

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

Escola Básica e Secundária Mouzinho da Silveira. MACS 11.º Ano Problema do Caixeiro Viajante

ESTRUTURA DE DADOS. Árvores, árvores binárias e percursos. Cristina Boeres

Problema. Quantas cores são necessárias para pintar este mapa? Número. Cromático. Estruturas de Dados - Grafos. Problema. Problema

Transcrição:

BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 27 de agosto de 2018 Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 1 / 62

Avisos Site da disciplina: http://www.decom.ufop.br/marco/ Lista de e-mails: bcc204@googlegroups.com Para solicitar acesso: http://groups.google.com/group/bcc204 Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 2 / 62

Conteúdo 1 Busca em Grafos 2 Busca em Profundidade 3 Busca em Largura Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 3 / 62

Busca em Grafos Definição A Busca em Grafos (ou Percurso em Grafos) é a examinação de vértices e arestas de um grafo. O projeto de bons algoritmos para determinação de estruturas ou propriedades de grafos depende fortemente do domínio destas técnicas. Terminologia Em uma busca: Uma aresta ou vértice ainda não examinados são marcados como não explorados ou não visitados; Inicialmente, todos os vértices e arestas são marcados como não explorados; Após terem sido examinados, os mesmos são marcados como explorados ou visitados; Ao final, todos os vértices e arestas são marcados como explorados (no caso de uma busca completa). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 4 / 62

Busca Genérica Entrada: Grafo G=(V, A) 1 enquanto existir j V com uma aresta {j,k} não explorada faça 2 Escolha o vértice j e explore a aresta {j, k}; 3 se j não é marcado então 4 marque j; 5 fim 6 se k não é marcado então 7 marque k; 8 fim 9 fim Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 5 / 62

Atravessando Labirintos Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 6 / 62

Como escapar? Método do século XIX - Algoritmo de Trémaux Pierre Trémaux (20 de Julho 1818-12 Março de 1895); Francês arquiteto, fotógrafo e orientalista; Autor de várias publicações científicas e etnografias; Segunda pessoa a ganhar o Prix de Rome a. a Bolsa de estudo destinada a estudantes das artes e atribuída pelo governo francês a jovens artistas que se distinguissem na pintura, escultura e arquitetura, criada em 1663 durante o reinado de Luís XIV de França. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 7 / 62

Como escapar? Método do século XIX - Algoritmo de Trémaux O algoritmo de Trémaux requer que para encontrar a saída de um labirinto seja riscada uma linha no chão para marcar os caminhos percorridos: Um caminho pode ser não visitado, visitado uma vez ou visitado duas vezes; A cada escolha de direção, é riscada uma linha no chão indicando o caminho. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 8 / 62

Como escapar? Método do século XIX - Algoritmo de Trémaux Inicialmente, uma direção aleatória é escolhida; Ao chegar em uma junção não visitada (ou seja, sem nenhuma linha), escolha uma direção aleatória e risque o caminho; Ao chegar em uma junção por um caminho já marcado, vire-se e caminhe de volta, marcando o caminho pela segunda vez; Se este não for o caso, escolha o caminho com menos linhas e marque-o novamente. Quando finalmente chegar à saída do labirinto, os caminhos marcados com apenas uma linha indicarão o caminho direto até o ponto inicial; Se não houver saída, você voltará ao ponto inicial, no qual todos os caminhos possuem duas linhas. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 9 / 62

Atravessando Labirintos Exemplo de execução do Algoritmo de Trémaux. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 10 / 62

Atravessando Labirintos Um labirinto. Considera-se que a circulação neste labirinto é feita margeando alguma parede. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 11 / 62

Atravessando Labirintos Pontos de entrada, saída e mudança de direção do labirinto. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 12 / 62

Atravessando Labirintos Grafo no labirinto. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 13 / 62

Atravessando Labirintos Grafo do labirinto. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 14 / 62

Atravessando Labirintos Idéia Uma forma de encontrar a saída do labirinto sem nunca percorrer mais de uma vez o mesmo caminho consiste em realizar uma busca no grafo de modo a nunca repetir arestas, marcando-as. A busca se inicia no vértice que representa a entrada e termina no vértice que representa a saída. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 15 / 62

Atravessando Labirintos Busca Genérica no grafo de exemplo (1). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 16 / 62

Atravessando Labirintos Busca Genérica no grafo de exemplo (2). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 17 / 62

Buscas em Grafos Buscas em Grafos Dependendo do critério utilizado para escolha dos vértices e arestas a serem examinados, diferentes tipos de buscas são desenvolvidos a partir da busca genérica. Basicamente, duas buscas completas em grafos são essenciais: Busca em Profundidade (ou DFS Depth-First Search); e Busca em Largura (ou BFS Breadth-First Search). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 18 / 62

Busca em Profundidade - DFS Características A Busca em Profundidade explora todos os vértices de um grafo, usando como critério o vértice visitado mais recentemente e não marcado. Característica Principal: utiliza uma pilha explícita ou recursividade para guiar a busca. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 19 / 62

Busca em Profundidade - DFS Entrada: Grafo G=(V, A), vértice inicial v 1 Marque o vértice v como explorado; 2 enquanto existir w vizinho de v faça 3 se w é marcado como não explorado então 4 Explore a aresta {v, w}; 5 Marque w como explorado; 6 BP(G, w);//chamada recursiva da função 7 fim 8 senão 9 se {v, w} não foi explorada ainda então 10 Explore {v, w}; 11 fim 12 fim 13 fim Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 20 / 62

Busca em Profundidade - DFS Classificação de Arestas Ao explorar um grafo G conexo usando a DFS, podemos categorizar as arestas: Arestas de Árvore: Satisfazem ao primeiro se do algoritmo (linha 3), ou seja, levam à exploração de vértices ainda não visitados; Arestas de Retorno: Demais arestas. Formam ciclos, pois levam a vértices já visitados. Árvore de Profundidade A subárvore de G formada pelas arestas de árvore é chamada de Árvore de Profundidade de G. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 21 / 62

DFS - Exemplo Grafo de exemplo. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 22 / 62

DFS - Exemplo (1) Aresta {1,2}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 23 / 62

DFS - Exemplo (2) Aresta {2,3}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 24 / 62

DFS - Exemplo (3) Aresta {3, 1}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 25 / 62

DFS - Exemplo (4) Aresta {3, 4}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 26 / 62

DFS - Exemplo (5) Aresta {4, 5}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 27 / 62

DFS - Exemplo (6) Aresta {5, 3}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 28 / 62

DFS - Exemplo (7) Aresta {3, 6}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 29 / 62

DFS - Exemplo (8) Aresta {3, 7}. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 30 / 62

DFS - Exemplo Grafo original e correspondente árvore de profundidade. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 31 / 62

DFS Complexidade Para cada vértice do grafo, a DFS percorre todos os seus vizinhos. Cada aresta é visitada duas vezes. Se representarmos o grafo por uma lista de adjacências, a DFS tem complexidade O(n + m). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 32 / 62

DFS-Grafos Direcionados Atenção! A aplicação da DFS em grafos direcionados é essencialmente igual à aplicação em grafos não direcionados. No entanto, mesmo o grafo direcionado sendo conexo, a DFS pode precisar ser chamada repetidas vezes enquanto houver vértices não explorados, retornando uma floresta. Este é o mesmo caso quando a DFS é aplicada a um GND desconexo. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 33 / 62

Busca em Profundidade - Reinício Entrada: Grafo G=(V, A) 1 enquanto existir v V não marcado faça 2 BP(G, v); 3 fim Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 34 / 62

Busca em Profundidade - DFS Classificação de Arestas Ao explorar um grafo G direcionado usando a DFS, podemos categorizar as arestas. Sejam o vértice v a origem da aresta e o vértice w o destino da mesma: Arestas de Avanço: Caso w seja descendente de v na floresta; Arestas de Retorno: Caso v seja descendente de w na floresta; Arestas de Cruzamento: Caso w não seja descendente de v e v não seja descendente de w. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 35 / 62

DFS - Exemplo Grafo de exemplo. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 36 / 62

DFS - Exemplo (1) Arco (1,2). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 37 / 62

DFS - Exemplo (2) Arco (2,3). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 38 / 62

DFS - Exemplo (3) Arco (3, 6). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 39 / 62

DFS - Exemplo (4) Arco (6, 2). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 40 / 62

DFS - Exemplo (5) Arco (1, 3). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 41 / 62

DFS - Exemplo (6) Arco (4, 3). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 42 / 62

DFS - Exemplo (7) Arco (4, 5). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 43 / 62

DFS - Exemplo (8) Arco (5, 3). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 44 / 62

DFS - Exemplo Grafo original e respectiva floresta de profundidade. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 45 / 62

Busca em Largura Características A Busca em Largura explora todos os vértices de um grafo, usando como critério o vértice visitado menos recentemente e não marcado. Característica Principal: utiliza uma fila guiar a busca. Atuação em camadas: Inicialmente são considerados os vértices com distância 0 do vértice inicial; Na iteração 1 são explorados os vértices com distância 1; prosseguindo, de modo genérico, na iteração d será adicionada uma camada com todos os vértices com distância d do vértice inicial; Cada novo vértice explorado é adicionado no final de uma fila Q; Cada vértice da fila é removido depois que toda a vizinhança for visitada; A busca termina quando a fila se torna vazia. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 46 / 62

Busca em Largura - BFS Entrada: Grafo G=(V, A), vértice inicial v 1 Crie uma fila Q vazia; 2 Marque v como explorado; 3 Insira v em Q; 4 enquanto Q faça 5 v remove elemento de Q; 6 para todo vértice w vizinho de v faça 7 se w é marcado como não explorado então 8 Explore a aresta {v, w}; 9 Insira w em Q; 10 Marque w como explorado; 11 fim 12 senão 13 se {v, w} não foi explorada ainda então 14 Explore {v, w}; 15 fim 16 fim 17 fim 18 fim Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 47 / 62

BFS - Exemplo (1) Inclusão de 1 Q = {1} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 48 / 62

BFS - Exemplo (2) ArestaAresta{1, 2} Q = {2} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 49 / 62

BFS - Exemplo (3) Aresta{1, 3} Q = {2, 3} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 50 / 62

BFS - Exemplo (4) Aresta{2, 3} Q = {3} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 51 / 62

BFS - Exemplo (5) Aresta{3, 4} Q = {4} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 52 / 62

BFS - Exemplo (6) Aresta{3, 5} Q = {4, 5} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 53 / 62

BFS - Exemplo (7) Aresta{3, 6} Q = {4, 5, 6} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 54 / 62

BFS - Exemplo (8) Aresta{3, 7} Q = {4, 5, 6, 7} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 55 / 62

BFS - Exemplo (9) Aresta{4, 5} Q = {5, 6, 7} Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 56 / 62

BFS - Exemplo Grafo original e respectiva árvore. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 57 / 62

BFS Complexidade Cada vértice só entra na fila uma vez. Inserir e remover na fila possuem complexidade constante, realizadas V vezes cada. A lista de adjacências de cada vértice é examinada apenas uma vez, e a soma dos comprimentos de todas as listas é Θ(m). Logo, se representarmos o grafo por uma lista de adjacências, a BFS tem complexidade O(n + m). Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 58 / 62

Aplicações Algumas aplicações incluem: Detectar grafos desconectados; Detectar se o grafo possui ciclos; Encontrar componentes biconexas; Classificar arestas; Encontrar componentes fortemente conexas; Flood Fill; Determinar o menor caminho em grafos não ponderados. Algumas aplicações requerem que seja retornada uma lista com a ordem em que os vértices foram visitados. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 59 / 62

DFS BFS DFS - Busca em Profundidade Incursões profundas no grafo, voltando somente quando não existem mais vértices desconhecidos pela frente; Com reinício: visita todos os vértices; Marca o vértice antes de visitar toda sua vizinhança; Uso de pilha. BFS - Busca em Largura Busca progride em largura : certifica-se de que vizinhos próximos sejam visitados primeiro; Sem reinício: interessam apenas os vértices alcançáveis a partir de v; Marca o vértice depois de visitar toda sua vizinhança; Uso de fila. Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 60 / 62

Visualizações Flood Fill 4 direções https://en.wikipedia.org/wiki/file: Recursive_Flood_Fill_4_(aka).gif Flood Fill 8 direções https://en.wikipedia.org/wiki/file: Recursive_Flood_Fill_8_(aka).gif Flood Fill Busca em Largura: https://en.wikipedia.org/wiki/file: Wfm_floodfill_animation_queue.gif Flood Fill Busca em Profundidade: https://en.wikipedia.org/wiki/file: Wfm_floodfill_animation_stack.gif Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 61 / 62

Dúvidas? Marco Antonio M. Carvalho (UFOP) BCC204 27 de agosto de 2018 62 / 62