Escolar Documentos
Profissional Documentos
Cultura Documentos
Katia S. Guimares
katiag@cin.ufpe.br
Busca em Grafos
OBJETIVO:
Visitar todos os vrtices e arestas do
grafo de forma sistemtica, para evitar
repeties e conseqente desperdcio.
Se o grafo uma rvore enraizada,
isto , uma rvore na qual os vrtices
obedecem a uma hierarquia, a tarefa
simples.
katiag@cin.ufpe.br
katiag@cin.ufpe.br
katiag@cin.ufpe.br
katiag@cin.ufpe.br
Algoritmo Pr-ordem
Algoritmo Pr-ordem(raiz)
Se raiz no nula ento
Visite (raiz)
Pr-ordem (left.raiz)
Pr-ordem (right.raiz)
katiag@cin.ufpe.br
Algoritmo Ps-ordem
Algoritmo Ps-ordem(raiz)
Se raiz no nula ento
Ps-ordem (left.raiz)
Ps-ordem (right.raiz)
Visite (raiz)
katiag@cin.ufpe.br
Algoritmo In-ordem
Algoritmo In-ordem(raiz)
Se raiz no nula ento
In-ordem (left.raiz)
Visite (raiz)
In-ordem (right.raiz)
katiag@cin.ufpe.br
6
1
3
4
2
katiag@cin.ufpe.br
1
3
4
2
7
katiag@cin.ufpe.br
5
10
11
katiag@cin.ufpe.br
12
Busca em Profundidade
JAVA Applet para uma
Busca em Profundidade
JAVA Applet para Busca em
grafo direcionado com
pilha
katiag@cin.ufpe.br
13
Controle para
Busca em Profundidade
Main Procedure
Inicialize pilha Q como vazia;
Desmarque todos os vrtices e arestas;
Tome um vrtice v qualquer;
Inclua v em Q;
P(v);
Remova v de Q.
14
Profundidade
Procedimento P(v)
Marque v como visitado (cinza);
Para toda aresta (v, w) incidente a v faa:
Se w no marcado ento
/* aresta de rvore */ {d[w] time;
time++;
pred[w]
v; P(w)
fim[w] time;
time++}
seno se w pai(v)
ento /* aresta de retorno */
katiag@cin.ufpe.br
15
rvore de Busca em
Profundidade
A busca em profundidade biparticiona
o conjunto de arestas em:
1
5
6
1
3
4
2
6
7
- Arestas
de rvore
- Arestas
de Retorno
5
16
Corolrio 23.7
18
Variaes de Busca em
Profundidade
O algoritmo de Busca em
Profundidade
usado como controle para
muitas
aplicaes em tempo linear.
1
4
5
19
Busca em Largura
Cria um centro no vrtice inicial e forma
nveis ou camadas a partir deste
n.
1
5
6
1
6
3
4
2
2
7
20
1
5
3
7
1
6
5
3
7
3
7
21
Busca em Largura
Applet para Busca em
Largura
22
/* aresta de rvore
*/
seno se v = pai (w)
ento
/* aresta de rvore */
3
4
2
1
7
24
26
27
Referncia Bibliogrfica
Leiam o Captulo 23 do livro de
Cormen, Leiserson, Rivest (Pgs. 465 a
497).
No esqueam os problemas.
28