Documente Academic
Documente Profesional
Documente Cultură
Busca
em
Profundidade
Centro
de
Inform-ca
Universidade
Federal
de
Pernambuco
Sistemas
de
Informao
Vinicius
Cardoso
Garcia
vcg@cin.ufpe.br
Introduo
Existem
duas
maneiras
bsicas
de
percorrer
um
grafo:
Busca
em
profundidade
Busca
em
largura
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
Busca
em
Profundidade
A
estratgia
de
buscar
o
mais
profundamente
no
grafo
quanto
possvel
As
arestas
so
exploradas
a
par-r
do
vr-ce
V
mais
recentemente
descoberto
que
ainda
possui
arestas
ainda
no
exploradas
Quando
no
existem
mais
arestas
a
serem
exploradas
em
profundidade,
busca-se
explorar
as
outras
arestas
de
V
Algoritmos
e
Estrutura
de
Dados
Grafos:
Busca
em
Profundidade
2011
Vinicius
Cardoso
Garcia
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
Exemplo
8
1
3
0
6
9
2
4
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
10
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
11
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
12
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
13
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
14
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
15
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
16
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
17
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
18
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
19
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
20
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
21
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
22
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
23
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
24
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
25
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
26
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
27
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
28
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
29
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
30
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
31
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
32
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
33
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
34
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
35
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
36
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
37
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
38
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
39
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
40
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
41
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
42
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
43
Percursos
Pr
e
Ps
Ordem
A
busca
em
profundidade
pode
ser
usada
para
a
realizao
de
operaes
nos
vr-ces
de
um
grafo
Para
isto,
podem
ser
considerados
dois
-pos
de
percurso:
Percurso
pr-ordem
Percurso
ps-ordem
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
44
Percurso
Pr-Ordem
No
percurso
pr-ordem,
as
operaes
acontecem
no
momento
em
que
o
vr-ce
marcado
como
CINZA
No
percurso
ps-ordem,
as
operaes
acontecem
no
momento
em
que
o
vr-ce
marcado
como
PRETO
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
45
8 1 3 0 6 9 2
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
46
Pr-Ordem:
0
Ps-Ordem:
8
1
3
0
6
9
2
4
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
47
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
48
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
49
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
50
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
51
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
52
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
53
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
54
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
55
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
56
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
57
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
58
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
59
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
60
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
61
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
62
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
63
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
64
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
65
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
66
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
67
7 10
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
68
Recapitulando...
Passos
para
a
Busca
em
Profundidade
Recapitulando
1. Marcar
todos
os
vr-ces
como
no
visitados
2. Percorrer
cada
um
dos
vr-ces
no
visitados
em
profundidade
1. Visitar
o
vr-ce
e
marc-lo
como
visitado
2. Obter
uma
lista
de
vr-ces
adjacentes
3. Visitar
em
profundidade
os
vr-ces
adjacentes
marcados
como
no
visitados
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
69
A?vidades
Complementares
Leitura
do
captulo
22
do
livro
do
Cormen
Implementar
a
busca
em
profundidade
para
grafos,
incluindo
a
impresso
do
grafo
em
pr
e
ps
ordem
Algoritmos e Estrutura de Dados Grafos: Busca em Profundidade 2011 Vinicius Cardoso Garcia
70