Você está na página 1de 80

CenLro de lnformuca

unlversldade lederal de ernambuco


vlnlclus Cardoso Carcla
vcg[cln.ufpe.br
2011 - vlnlclus Cardoso Carcla
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
2
A busca em largura e asslm chamada porque
expande a fronLelra enLre veruces descoberLos
e no descoberLos unlformemenLe
Como se fossem clrculos concnLrlcos
C algorlLmo de busca em largura e usado em
mulLos algorlLmos de grafos
rvore geradora mlnlma
Camlnho mals curLo (ul[ksLra)
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
3
uado um veruce de orlgem, uma busca em
largura descobre Lodos os veruces a uma
dlsLncla x do veruce de orlgem, anLes de
descobrlr qualquer veruce a x+1
veruces no vlslLados como 88AnCCS
veruces vlslLados so colorldos como ClnZAS
veruces cu[os ad[acenLes [ foram vlslLados
so colorldos como 8L1CS
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
4
Marca Lodos os ns como 88AnCCS
ercorre Lodos os ns 88AnCCS em largura
Mals deLalhes desLe passo a segulr
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
3
Marca o veruce de orlgem v como ClnZA
Crla uma la e lnsere v
LnquanLo a la no esuver vazla
u = dequeue(la)
CbLem os ad[acenLes de u
ara cada ad[acenLe[l] de u
Se ad[acenLe[l].cor == 88AnCC
Marca ad[acenLe[l] como ClnZA
Lnqueue(la, ad[acenLe[l])
Marca u como 8L1C
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
6
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
7
4
3 1
0
8
10
7
6
2
3
9
8
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
4
3 1
0
8
10
7
6
2
3
9
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
4
3 1
0
8
10
7
6
2
3
9
10
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
11
4
3 1
0
8
10
7
6
2
3
9
!
u = dequeue(la)
CbLem os ad[acenLes de u
ara cada ad[acenLe[l] de u
Se ad[acenLe[l].cor == 88AnCC
Marca ad[acenLe[l] como ClnZA
enqueue(la, ad[acenLe[l])
Marca u como 8L1C
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
12
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
13
4
3 1
0
8
10
7
6
2
3
9
!
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
14
4
3 1
0
8
10
7
6
2
3
9
!
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
13
4
3 1
0
8
10
7
6
2
3
9
!
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
16
4
3 1
0
8
10
7
6
2
3
9
$ % &
!
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
17
4
3 1
0
8
10
7
6
2
3
9
$ % &
!
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
18
4
3 1
0
8
10
7
6
2
3
9
% &
$
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
19
4
3 1
0
8
10
7
6
2
3
9
% &
$
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
20
4
3 1
0
8
10
7
6
2
3
9
% &
$
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
21
4
3 1
0
8
10
7
6
2
3
9
% & ' (
$
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
22
4
3 1
0
8
10
7
6
2
3
9
% & ' (
$
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
23
4
3 1
0
8
10
7
6
2
3
9
& ' (
%
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
24
4
3 1
0
8
10
7
6
2
3
9
& ' (
%
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
23
4
3 1
0
8
10
7
6
2
3
9
& ' (
%
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
26
4
3 1
0
8
10
7
6
2
3
9
& ' ( ) *
%
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
27
4
3 1
0
8
10
7
6
2
3
9
& ' ( ) *
%
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
28
4
3 1
0
8
10
7
6
2
3
9
' ( ) *
&
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
29
4
3 1
0
8
10
7
6
2
3
9
' ( ) *
&
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
30
4
3 1
0
8
10
7
6
2
3
9
' ( ) *
&
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
31
4
3 1
0
8
10
7
6
2
3
9
' ( ) * +
&
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
32
4
3 1
0
8
10
7
6
2
3
9
' ( ) * +
&
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
33
4
3 1
0
8
10
7
6
2
3
9
( ) * +
'
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
34
4
3 1
0
8
10
7
6
2
3
9
( ) * +
'
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
33
4
3 1
0
8
10
7
6
2
3
9
( ) * +
'
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
36
4
3 1
0
8
10
7
6
2
3
9
( ) * + ,
'
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
37
4
3 1
0
8
10
7
6
2
3
9
( ) * + ,
'
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
38
4
3 1
0
8
10
7
6
2
3
9
) * + ,
(
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
39
4
3 1
0
8
10
7
6
2
3
9
) * + ,
(
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
40
4
3 1
0
8
10
7
6
2
3
9
) * + ,
(
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
41
4
3 1
0
8
10
7
6
2
3
9
* + ,
)
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
42
4
3 1
0
8
10
7
6
2
3
9
* + ,
)
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
43
4
3 1
0
8
10
7
6
2
3
9
* + ,
)
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
44
4
3 1
0
8
10
7
6
2
3
9
+ ,
*
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
43
4
3 1
0
8
10
7
6
2
3
9
+ ,
*
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
46
4
3 1
0
8
10
7
6
2
3
9
+ ,
*
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
47
4
3 1
0
8
10
7
6
2
3
9
+ , $!
*
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
48
4
3 1
0
8
10
7
6
2
3
9
+ , $!
*
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
49
4
3 1
0
8
10
7
6
2
3
9
, $!
+
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
30
4
3 1
0
8
10
7
6
2
3
9
, $!
+
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
31
4
3 1
0
8
10
7
6
2
3
9
$!
,
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
32
4
3 1
0
8
10
7
6
2
3
9
$!
,
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
33
4
3 1
0
8
10
7
6
2
3
9
$!
#
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
34
4
3 1
0
8
10
7
6
2
3
9
$!
#
A busca em largura pode ser usada para a
reallzao de operaes nos veruces de um
grafo
ara lsLo, podem ser conslderados dols upos
de percurso:
ercurso pre-ordem
ercurso ps-ordem
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
33
no percurso pre-ordem as operaes
aconLecem no momenLo em que o veruce e
marcado como ClnZA
no percurso ps-ordem, as operaes
aconLecem no momenLo em que o veruce e
marcado como 8L1C
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
36
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
37
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
38
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
39
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
60
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
61
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
62
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
63
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
64
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
63
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
66
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
67
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
68
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
69
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
70
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
71
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
72
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
73
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
74
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
73
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
76
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
77
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
78
4
3 1
0
8
10
7
6
2
3
9
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
79
4
3 1
0
8
10
7
6
2
3
9
lmplemenLar a busca em largura para grafos,
lnclulndo a lmpresso d grafo em pre e ps
ordem
AlgorlLmos e LsLruLura de uados
Crafos: 8usca em Largura
2011 - vlnlclus Cardoso Carcla
80

Você também pode gostar