Introduction to Algorithms, Third Edition



Download 4,84 Mb.
Pdf ko'rish
bet390/618
Sana07.04.2022
Hajmi4,84 Mb.
#534272
1   ...   386   387   388   389   390   391   392   393   ...   618
Bog'liq
Introduction-to-algorithms-3rd-edition

discovered
the first time it is encountered during the search, at which time
it becomes nonwhite. Gray and black vertices, therefore, have been discovered, but
breadth-first search distinguishes between them to ensure that the search proceeds
in a breadth-first manner.
1
If
.u; /
2
E
and vertex
u
is black, then vertex
is either gray or black; that is, all vertices adjacent to black vertices have been
discovered. Gray vertices may have some adjacent white vertices; they represent
the frontier between discovered and undiscovered vertices.
Breadth-first search constructs a breadth-first tree, initially containing only its
root, which is the source vertex
s
. Whenever the search discovers a white vertex
in the course of scanning the adjacency list of an already discovered vertex
u
, the
vertex
and the edge
.u; /
are added to the tree. We say that
u
is the
predecessor
or
parent
of
in the breadth-first tree. Since a vertex is discovered at most once, it
has at most one parent. Ancestor and descendant relationships in the breadth-first
tree are defined relative to the root
s
as usual: if
u
is on the simple path in the tree
from the root
s
to vertex
, then
u
is an ancestor of
and
is a descendant of
u
.
1
We distinguish between gray and black vertices to help us understand how breadth-first search op-
erates. In fact, as Exercise 22.2-3 shows, we would get the same result even if we did not distinguish
between gray and black vertices.


22.2
Breadth-first search
595
The breadth-first-search procedure BFS below assumes that the input graph
G
D
.V; E/
is represented using adjacency lists. It attaches several additional
attributes to each vertex in the graph. We store the color of each vertex
u
2
V
in the attribute
u:
color
and the predecessor of
u
in the attribute
u:
. If
u
has no
predecessor (for example, if
u
D
s
or
u
has not been discovered), then
u:
D
NIL
.
The attribute
u:
d
holds the distance from the source
s
to vertex
u
computed by the
algorithm. The algorithm also uses a first-in, first-out queue
Q
(see Section 10.1)
to manage the set of gray vertices.
BFS
.G; s/
1
for
each vertex
u
2
G:
V
f
s
g
2
u:
color
D
WHITE
3
u:
d
D 1
4
u:
D
NIL
5
s:
color
D
GRAY
6
s:
d
D
0
7
s:
D
NIL
8
Q
D ;
9
E
NQUEUE
.Q; s/
10

Download 4,84 Mb.

Do'stlaringiz bilan baham:
1   ...   386   387   388   389   390   391   392   393   ...   618




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish