busca em grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · busca...
TRANSCRIPT
![Page 1: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/1.jpg)
Algoritmos e Estruturas de Dados II
Busca em GrafosProf. Tiago Eugenio de Melo
www.tiagodemelo.info
![Page 2: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/2.jpg)
2/183
Observações
● As palavras com a fonte Courier indicam as palavras-reservadas da linguagem de programação.
![Page 3: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/3.jpg)
3/183
Referências
● Projetos de Algoritmos – com implementações em Pascal e C. Nivio Ziviani. 2a edição. Thomson, 2005.
● Material baseado nas notas de aula do professor Marco Antônio Moreira de Carvalho. Acessado em 14/10/2019: http://www.decom.ufop.br/marco/ensino/bcc204/material-das-aulas
![Page 4: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/4.jpg)
4/183
IntroduçãoBusca em Grafos
![Page 5: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/5.jpg)
5/183
Busca em Grafos
![Page 6: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/6.jpg)
6/183
Busca em Grafos
● Definição
![Page 7: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/7.jpg)
7/183
Busca em Grafos
● Definição– A busca em grafos (ou percurso em grafos) é a
examinação de vértices e arestas de um grafo.
![Page 8: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/8.jpg)
8/183
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 dessas técnicas.
![Page 9: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/9.jpg)
9/183
Busca em Grafos
![Page 10: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/10.jpg)
10/183
Busca em Grafos
● Terminologia
![Page 11: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/11.jpg)
11/183
Busca em Grafos
● Terminologia– Uma aresta ou um vértice ainda não examinados
são marcados como não explorados ou não visitados.
![Page 12: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/12.jpg)
12/183
Busca em Grafos
● Terminologia– Uma aresta ou um 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.
![Page 13: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/13.jpg)
13/183
Busca em Grafos
● Terminologia– Uma aresta ou um 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.
![Page 14: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/14.jpg)
14/183
Busca em Grafos
● Terminologia– Uma aresta ou um 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).
![Page 15: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/15.jpg)
15/183
Busca Genérica
![Page 16: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/16.jpg)
16/183
Atravessando Labirintos
![Page 17: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/17.jpg)
17/183
Como escapar?
![Page 18: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/18.jpg)
18/183
Como escapar?
● Algoritmo de Trémaux (Século XIX)
![Page 19: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/19.jpg)
19/183
Como escapar?
● Algoritmo de Trémaux (Século XIX)– Pierre Trémaux
![Page 20: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/20.jpg)
20/183
Como escapar?
● Algoritmo de Trémaux (Século XIX)– Pierre Trémaux– Arquiteto francês, fotógrafo e orientalista.
![Page 21: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/21.jpg)
21/183
Como escapar?
● Algoritmo de Trémaux (Século XIX)– Pierre Trémaux– Arquiteto francês, fotógrafo e orientalista.– Autor de várias publicações científicas e
etnografias.
![Page 22: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/22.jpg)
22/183
Como escapar?
![Page 23: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/23.jpg)
23/183
Como escapar?
● Algoritmo
![Page 24: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/24.jpg)
24/183
Como escapar?
● Algoritmo– Inicialmente, uma direção aleatória é escolhida.
![Page 25: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/25.jpg)
25/183
Como escapar?
● Algoritmo– Inicialmente, uma direção aleatória é escolhida.– Ao chegar em uma junção não visitada (ou seja,
nenhuma linha), escolha a direção aleatória e risque o caminho.
![Page 26: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/26.jpg)
26/183
Como escapar?
● Algoritmo– Inicialmente, uma direção aleatória é escolhida.– Ao chegar em uma junção não visitada (ou seja,
nenhuma linha), escolha a direção aleatória e risque o caminho.
– Ao chegar em uma junção já marcada, vire-se e caminhe de volta, marcando o caminho pela segunda vez.
![Page 27: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/27.jpg)
27/183
Como escapar?
● Algoritmo– Inicialmente, uma direção aleatória é escolhida.– Ao chegar em uma junção não visitada (ou seja,
nenhuma linha), escolha a direção aleatória e risque o caminho.
– Ao chegar em uma junção já marcada, 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.
![Page 28: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/28.jpg)
28/183
Como escapar?
● Algoritmo– Inicialmente, uma direção aleatória é escolhida.– Ao chegar em uma junção não visitada (ou seja, nenhuma
linha), escolha a direção aleatória e risque o caminho.– Ao chegar em uma junção já marcada, 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.
![Page 29: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/29.jpg)
29/183
Como escapar?
● Algoritmo– Inicialmente, uma direção aleatória é escolhida.– Ao chegar em uma junção não visitada (ou seja, nenhuma
linha), escolha a direção aleatória e risque o caminho.– Ao chegar em uma junção já marcada, 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.
![Page 30: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/30.jpg)
30/183
Atravessando Labirintos
![Page 31: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/31.jpg)
31/183
Atravessando Labirintos
![Page 32: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/32.jpg)
32/183
Atravessando Labirintos
![Page 33: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/33.jpg)
33/183
Atravessando Labirintos
![Page 34: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/34.jpg)
34/183
Atravessando Labirintos
![Page 35: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/35.jpg)
35/183
Atravessando Labirintos
![Page 36: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/36.jpg)
36/183
Atravessando Labirintos
● Ideia
![Page 37: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/37.jpg)
37/183
Atravessando Labirintos
● Ideia– 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.
![Page 38: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/38.jpg)
38/183
Atravessando Labirintos
● Ideia– 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.
![Page 39: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/39.jpg)
39/183
Atravessando Labirintos
![Page 40: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/40.jpg)
40/183
Atravessando Labirintos
![Page 41: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/41.jpg)
41/183
Atravessando Labirintos
![Page 42: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/42.jpg)
42/183
Busca em Grafos
![Page 43: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/43.jpg)
43/183
Busca em Grafos
![Page 44: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/44.jpg)
44/183
Busca em Grafos
● Dependendo do critério utilizado para a escolha dos vértices e arestas a serem visitados, diferentes tipos de buscas são desenvolvidos a partir da busca genérica.
![Page 45: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/45.jpg)
45/183
Busca em Grafos
● Dependendo do critério utilizado para a escolha dos vértices e arestas a serem visitados, diferentes tipos de buscas são desenvolvidos a partir da busca genérica.
● Basicamente, duas buscas completas em grafos são essenciais:
![Page 46: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/46.jpg)
46/183
Busca em Grafos
● Dependendo do critério utilizado para a escolha dos vértices e arestas a serem visitados, 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);
![Page 47: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/47.jpg)
47/183
Busca em Grafos
● Dependendo do critério utilizado para a escolha dos vértices e arestas a serem visitados, 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);– Busca em largura (ou BFS – Breadth-First Search).
![Page 48: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/48.jpg)
48/183
DFS versus BFS
![Page 49: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/49.jpg)
49/183
DFS versus BFS
![Page 50: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/50.jpg)
50/183
DFS versus BFS
![Page 51: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/51.jpg)
51/183
Busca em Profundidade (DFS)
![Page 52: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/52.jpg)
52/183
Busca em Profundidade (DFS)
● Características
![Page 53: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/53.jpg)
53/183
Busca em Profundidade (DFS)
● Características– A busca em profundidade visita todos os vértices
de um grafo, usando como critério os vizinhos do vértice visitado mais recentemente.
![Page 54: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/54.jpg)
54/183
Busca em Profundidade (DFS)
● Características– A busca em profundidade visita todos os vértices
de um grafo, usando como critério os vizinhos do vértice visitado mais recentemente.
– Principal característica:
![Page 55: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/55.jpg)
55/183
Busca em Profundidade (DFS)
● Características– A busca em profundidade visita todos os vértices
de um grafo, usando como critério os vizinhos do vértice visitado mais recentemente.
– Principal característica:● Utiliza uma pilha explícita ou recursividade para guiar
a busca.
![Page 56: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/56.jpg)
56/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 57: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/57.jpg)
57/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 58: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/58.jpg)
58/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 59: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/59.jpg)
59/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 60: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/60.jpg)
60/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 61: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/61.jpg)
61/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 62: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/62.jpg)
62/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 63: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/63.jpg)
63/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 64: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/64.jpg)
64/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 65: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/65.jpg)
65/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 66: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/66.jpg)
66/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 67: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/67.jpg)
67/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 68: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/68.jpg)
68/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 69: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/69.jpg)
69/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 70: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/70.jpg)
70/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 71: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/71.jpg)
71/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 72: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/72.jpg)
72/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 73: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/73.jpg)
73/183
Busca em Profundidade (DFS)
● Exemplo de uso de pilha:
![Page 74: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/74.jpg)
74/183
Busca em Profundidade (DFS)
![Page 75: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/75.jpg)
75/183
Busca em Profundidade (DFS)
![Page 76: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/76.jpg)
76/183
Busca em Profundidade (DFS)
● Classificação de arestas
![Page 77: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/77.jpg)
77/183
Busca em Profundidade (DFS)
● Classificação de arestas– Ao explorar um grafo G conexo usando a DFS,
podemos categorizar as arestas:
![Page 78: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/78.jpg)
78/183
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 à visitação de vértices ainda não visitados.
![Page 79: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/79.jpg)
79/183
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 à visitação de vértices ainda não visitados.
● Arestas de retorno: demais arestas. Formam ciclos, pois levam a vértices já visitados.
![Page 80: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/80.jpg)
80/183
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 à visitaçã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
![Page 81: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/81.jpg)
81/183
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 à visitaçã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 G formada pelas arestas de árvore é
chamada de Árvore de Profundidade G.
![Page 82: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/82.jpg)
82/183
DFS - Exemplo
![Page 83: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/83.jpg)
83/183
DFS - Exemplo
![Page 84: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/84.jpg)
84/183
DFS - Exemplo
![Page 85: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/85.jpg)
85/183
DFS - Exemplo
![Page 86: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/86.jpg)
86/183
DFS - Exemplo
![Page 87: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/87.jpg)
87/183
DFS - Exemplo
![Page 88: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/88.jpg)
88/183
DFS - Exemplo
![Page 89: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/89.jpg)
89/183
DFS - Exemplo
![Page 90: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/90.jpg)
90/183
DFS - Exemplo
![Page 91: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/91.jpg)
91/183
DFS - Exemplo
![Page 92: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/92.jpg)
92/183
DFS
![Page 93: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/93.jpg)
93/183
DFS
● Complexidade
![Page 94: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/94.jpg)
94/183
DFS
● Complexidade– Para cada vértice do grafo, a DFS percorre todos
os seus vizinhos.
![Page 95: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/95.jpg)
95/183
DFS
● Complexidade– Para cada vértice do grafo, a DFS percorre todos
os seus vizinhos.– Cada aresta é visitada duas vezes.
![Page 96: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/96.jpg)
96/183
DFS
● Complexidade– Para cada vértice do grafo, a DFS percorre todos
os seus vizinhos.– Cada aresta é visitada duas vezes.– Se apresentarmos o grafo por uma lista de
adjacências, a DFS tem complexidade O(|V| + |E|).
![Page 97: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/97.jpg)
97/183
DFS – Grafos Direcionados
![Page 98: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/98.jpg)
98/183
DFS – Grafos Direcionados
● A aplicação da DFS em grafos direcionados é essencialmente igual à aplicação em grafos não direcionados.
![Page 99: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/99.jpg)
99/183
DFS – Grafos Direcionados
● 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 visitados, retornando uma floresta.
![Page 100: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/100.jpg)
100/183
DFS – Grafos Direcionados
● 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 visitados, retornando uma floresta.
● Este é o mesmo caso quando a DFS é aplicada a um GND desconexo.
![Page 101: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/101.jpg)
101/183
Busca em Profundidade - Reinício
![Page 102: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/102.jpg)
102/183
Busca em Profundidade
![Page 103: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/103.jpg)
103/183
Busca em Profundidade
● Classificação de arestas
![Page 104: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/104.jpg)
104/183
Busca em Profundidade
● Classificação de arestas– Ao explorar um grafo G direcionado usando a DFS,
podemos categorizar as arestas.
![Page 105: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/105.jpg)
105/183
Busca em Profundidade
● 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:
![Page 106: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/106.jpg)
106/183
Busca em Profundidade
● 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:● Arcos de avanço
![Page 107: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/107.jpg)
107/183
Busca em Profundidade
● 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:● Arcos de avanço● Arcos de retorno
![Page 108: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/108.jpg)
108/183
Busca em Profundidade
● 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:● Arcos de avanço● Arcos de retorno● Arcos de cruzamento
![Page 109: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/109.jpg)
109/183
Busca em Profundidade
![Page 110: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/110.jpg)
110/183
Busca em Profundidade
● Classificação de arestas
![Page 111: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/111.jpg)
111/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
![Page 112: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/112.jpg)
112/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
● Caso w seja descendente de v na floresta.
![Page 113: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/113.jpg)
113/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
● Caso w seja descendente de v na floresta.
– Arcos de retorno
![Page 114: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/114.jpg)
114/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
● Caso w seja descendente de v na floresta.
– Arcos de retorno● Caso v seja descendente de w na floresta.
![Page 115: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/115.jpg)
115/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
● Caso w seja descendente de v na floresta.
– Arcos de retorno● Caso v seja descendente de w na floresta.● Ou, w é ancestral de v.
![Page 116: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/116.jpg)
116/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
● Caso w seja descendente de v na floresta.
– Arcos de retorno● Caso v seja descendente de w na floresta.● Ou, w é ancestral de v.
– Arcos de cruzamento (cruzado)
![Page 117: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/117.jpg)
117/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
● Caso w seja descendente de v na floresta.
– Arcos de retorno● Caso v seja descendente de w na floresta.● Ou, w é ancestral de v.
– Arcos de cruzamento (cruzado)● Caso w não seja descendente de v e v não seja
descendente de w.
![Page 118: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/118.jpg)
118/183
Busca em Profundidade
● Classificação de arestas– Arcos de avanço
● Caso w seja descendente de v na floresta.
– Arcos de retorno● Caso v seja descendente de w na floresta.● Ou, w é ancestral de v.
– Arcos de cruzamento (cruzado)● Caso w não seja descendente de v e v não seja
descendente de w.● Ou, w é primo de v.
![Page 119: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/119.jpg)
119/183
Busca em Profundidade
![Page 120: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/120.jpg)
120/183
Busca em Profundidade
● Exemplo
![Page 121: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/121.jpg)
121/183
Busca em Profundidade
● Exemplo
![Page 122: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/122.jpg)
122/183
Busca em Profundidade
● ExemploArcos da floresta são vermelhos.
![Page 123: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/123.jpg)
123/183
Busca em Profundidade
● ExemploArcos da floresta são vermelhos.
Arcos de retorno são verdes.
![Page 124: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/124.jpg)
124/183
Busca em Profundidade
● ExemploArcos da floresta são vermelhos.
Arcos de retorno são verdes.
Arcos de avanço são roxos.
![Page 125: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/125.jpg)
125/183
Busca em Profundidade
● ExemploArcos da floresta são vermelhos.
Arcos de retorno são verdes.
Arcos de avanço são roxos.
Arcos cruzados são azuis.
![Page 126: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/126.jpg)
126/183
DFS - Exemplo
![Page 127: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/127.jpg)
127/183
DFS - Exemplo
![Page 128: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/128.jpg)
128/183
DFS - Exemplo
![Page 129: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/129.jpg)
129/183
DFS - Exemplo
![Page 130: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/130.jpg)
130/183
DFS - Exemplo
![Page 131: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/131.jpg)
131/183
DFS - Exemplo
![Page 132: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/132.jpg)
132/183
DFS - Exemplo
![Page 133: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/133.jpg)
133/183
DFS - Exemplo
![Page 134: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/134.jpg)
134/183
DFS - Exemplo
![Page 135: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/135.jpg)
135/183
DFS - Exemplo
![Page 136: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/136.jpg)
136/183
Exemplo
● https://www.cs.usfca.edu/~galles/visualization/DFS.html
![Page 137: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/137.jpg)
137/183
Busca em Largura
![Page 138: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/138.jpg)
138/183
Busca em Largura
![Page 139: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/139.jpg)
139/183
Busca em Largura
● Características
![Page 140: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/140.jpg)
140/183
Busca em Largura
● Características– A busca em largura visita todos os vértices de um
grafo, usando como critério o vértice visitado menos recentemente e cuja vizinhança ainda não foi explorada.
![Page 141: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/141.jpg)
141/183
Busca em Largura
● Características– A busca em largura visita todos os vértices de um
grafo, usando como critério o vértice visitado menos recentemente e cuja vizinhança ainda não foi explorada.
– Característica principal: utiliza uma fila para guiar a busca.
![Page 142: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/142.jpg)
142/183
Busca em Largura
![Page 143: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/143.jpg)
143/183
Busca em Largura
● Atuação em camadas
![Page 144: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/144.jpg)
144/183
Busca em Largura
● Atuação em camadas– Inicialmente são considerados os vértices com
distância 0 (zero) do vértice inicial.
![Page 145: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/145.jpg)
145/183
Busca em Largura
● Atuação em camadas– Inicialmente são considerados os vértices com
distância 0 (zero) do vértice inicial.– Na iteração 1 são visitados 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.
![Page 146: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/146.jpg)
146/183
Busca em Largura
● Atuação em camadas– Inicialmente são considerados os vértices com
distância 0 (zero) do vértice inicial.– Na iteração 1 são visitados 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 visitado é adicionado no final de uma fila Q.
![Page 147: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/147.jpg)
147/183
Busca em Largura
● Atuação em camadas– Inicialmente são considerados os vértices com
distância 0 (zero) do vértice inicial.– Na iteração 1 são visitados 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 visitado é adicionado no final de uma fila Q.
– Cada vértice da fila é removido depois que toda a vizinhança for visitada.
![Page 148: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/148.jpg)
148/183
Busca em Largura
● Atuação em camadas– Inicialmente são considerados os vértices com distância 0
(zero) do vértice inicial.– Na iteração 1 são visitados 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 visitado é adicionado no final de uma fila Q.
– Cada vértice da fila é removido depois que toda a vizinhança for visitada.
– Cada vértice da fila é removido depois que toda a vizinhança for visitada.
![Page 149: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/149.jpg)
149/183
Busca em Largura
● Atuação em camadas– Inicialmente são considerados os vértices com distância 0
(zero) do vértice inicial.– Na iteração 1 são visitados 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 visitado é adicionado no final de uma fila Q.– Cada vértice da fila é removido depois que toda a vizinhança
for visitada.– Cada vértice da fila é removido depois que toda a vizinhança
for visitada.– A busca termina quando a fila se torna vazia.
![Page 150: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/150.jpg)
150/183
Busca em Largura - BFS
![Page 151: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/151.jpg)
151/183
Busca em Largura - BFS
![Page 152: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/152.jpg)
152/183
Busca em Largura - BFS
![Page 153: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/153.jpg)
153/183
Busca em Largura - BFS
![Page 154: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/154.jpg)
154/183
Busca em Largura - BFS
![Page 155: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/155.jpg)
155/183
Busca em Largura - BFS
![Page 156: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/156.jpg)
156/183
Busca em Largura - BFS
![Page 157: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/157.jpg)
157/183
Busca em Largura - BFS
![Page 158: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/158.jpg)
158/183
Busca em Largura - BFS
![Page 159: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/159.jpg)
159/183
Busca em Largura - BFS
![Page 160: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/160.jpg)
160/183
Busca em Largura - BFS
![Page 161: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/161.jpg)
161/183
Busca em Largura - BFS
![Page 162: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/162.jpg)
162/183
Busca em Largura - BFS
● Complexidade
![Page 163: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/163.jpg)
163/183
Busca em Largura - BFS
● Complexidade– Cada vértice só entra na fila uma vez.
![Page 164: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/164.jpg)
164/183
Busca em Largura - BFS
● Complexidade– Cada vértice só entra na fila uma vez.– Inserir e remover na fila possuem complexidade
constante, realizadas |V| vezes cada.
![Page 165: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/165.jpg)
165/183
Busca em Largura - 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).
![Page 166: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/166.jpg)
166/183
Busca em Largura - 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 busca em largura (BFS) tem complexidade O(n+m).
![Page 167: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/167.jpg)
167/183
Exemplo
https://www.cs.usfca.edu/~galles/visualization/BFS.html
![Page 168: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/168.jpg)
168/183
DFS x BFS
![Page 169: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/169.jpg)
169/183
DFS x BFS
● DFS – Busca em Profundidade
![Page 170: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/170.jpg)
170/183
DFS x BFS
● DFS – Busca em Profundidade– Incursão profundas no grafo, voltando somente
quando não existem mais vértices desconhecidos pela frente.
![Page 171: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/171.jpg)
171/183
DFS x BFS
● DFS – Busca em Profundidade– Incursão profundas no grafo, voltando somente
quando não existem mais vértices desconhecidos pela frente.
– Marca o vértice antes de visitar toda sua vizinhança.
![Page 172: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/172.jpg)
172/183
DFS x BFS
● DFS – Busca em Profundidade– Incursão profundas no grafo, voltando somente
quando não existem mais vértices desconhecidos pela frente.
– Marca o vértice antes de visitar toda sua vizinhança.
– Uso de pilha.
![Page 173: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/173.jpg)
173/183
DFS x BFS
● DFS – Busca em Profundidade– Incursão profundas no grafo, voltando somente
quando não existem mais vértices desconhecidos pela frente.
– Marca o vértice antes de visitar toda sua vizinhança.
– Uso de pilha.● BFS – Busca em Largura
![Page 174: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/174.jpg)
174/183
DFS x BFS
● DFS – Busca em Profundidade– Incursão profundas no grafo, voltando somente quando
não existem mais vértices desconhecidos pela frente.– 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 primeiramente.
![Page 175: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/175.jpg)
175/183
DFS x BFS
● DFS – Busca em Profundidade– Incursão profundas no grafo, voltando somente quando
não existem mais vértices desconhecidos pela frente.– 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 primeiramente.– Marca o vértice depois de visitar toda a sua vizinhança.
![Page 176: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/176.jpg)
176/183
DFS x BFS
● DFS – Busca em Profundidade– Incursão profundas no grafo, voltando somente quando não
existem mais vértices desconhecidos pela frente.– 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 primeiramente.– Marca o vértice depois de visitar toda a sua vizinhança.– Uso de fila.
![Page 177: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/177.jpg)
177/183
Aplicações
![Page 178: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/178.jpg)
178/183
Aplicações
● Detectar grafos desconectados.
![Page 179: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/179.jpg)
179/183
Aplicações
● Detectar grafos desconectados.● Detectar se o grafo possui ciclos.
![Page 180: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/180.jpg)
180/183
Aplicações
● Detectar grafos desconectados.● Detectar se o grafo possui ciclos.● Encontrar componentes biconexas.
![Page 181: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/181.jpg)
181/183
Aplicações
● Detectar grafos desconectados.● Detectar se o grafo possui ciclos.● Encontrar componentes biconexas.● Classificar arestas.
![Page 182: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/182.jpg)
182/183
Aplicações
● Detectar grafos desconectados.● Detectar se o grafo possui ciclos.● Encontrar componentes biconexas.● Classificar arestas.● Encontrar componentes fortemente conexas.
![Page 183: Busca em Grafostiagodemelo.info/wp-content/uploads/2019/11/grafos-busca.pdf · 2019-11-13 · Busca em Grafos Terminologia – Uma aresta ou um vértice ainda não examinados são](https://reader033.vdocuments.pub/reader033/viewer/2022041820/5e5d1419264f0a1ef378067b/html5/thumbnails/183.jpg)
183/183
Aplicações
● Detectar grafos desconectados.● Detectar se o grafo possui ciclos.● Encontrar componentes biconexas.● Classificar arestas.● Encontrar componentes fortemente conexas.● Determinar o menor caminho em grafos não
ponderados.