The Algorithm Design Manual Second Edition


Applications of Depth-First Search



Download 5,51 Mb.
Pdf ko'rish
bet147/488
Sana31.12.2021
Hajmi5,51 Mb.
#273936
1   ...   143   144   145   146   147   148   149   150   ...   488
Bog'liq
2008 Book TheAlgorithmDesignManual

5.9

Applications of Depth-First Search

As algorithm design paradigms go, a depth-first search isn’t particularly intimidat-

ing. It is surprisingly subtle, however meaning that its correctness requires getting

details right.

The correctness of a DFS-based algorithm depends upon specifics of exactly

when we process the edges and vertices. We can process vertex either before we

have traversed any of the outgoing edges from (process vertex early()) or after

we have finished processing all of them (process vertex late()). Sometimes we

will take special actions at both times, say process vertex early() to initialize a

vertex-specific data structure, which will be modified on edge-processing operations

and then analyzed afterwards using process vertex late().

In undirected graphs, each edge (x, y) sits in the adjacency lists of vertex x

and y. Thus there are two potential times to process each edge (x, y), namely when

exploring and when exploring y. The labeling of edges as tree edges or back edges

occurs during the first time the edge is explored. This first time we see an edge is

usually a logical time to do edge-specific processing. Sometimes, we may want to

take different action the second time we see an edge.

But when we encounter edge (x, y) from x, how can we tell if we have previously

traversed the edge from y? The issue is easy if vertex is undiscovered: (x, y)

if (finished) return;

p = p->next;

}

process_vertex_late(v);



time = time + 1;

exit_time[v] = time;

processed[v] = TRUE;

}



5 . 9

A P P L I C A T I O N S O F D E P T H - F I R S T S E A R C H



173

Figure 5.11: An articulation vertex is the weakest point in the graph

I find that the subtlety of depth-first search-based algorithms kicks me in the

head whenever I try to implement one. I encourage you to analyze these implemen-

tations carefully to see where the problematic cases arise and why.


Download 5,51 Mb.

Do'stlaringiz bilan baham:
1   ...   143   144   145   146   147   148   149   150   ...   488




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