10.2.1. Algorytm wyznoczonlo dondrytu dróg najdłuższych
O o n c x Siać cklorowann boz dróg cyklicznych o pootocl S - <G.f>. (l\> . C - <X.r> , r«X— 2xł 1 » ; u.
• {<x.y> * (x,y,£X) A (y € Tx)J ; xp - wierzchołek poczętko-wy (korzoń dondrytu).
Procedura t
1° i'«yznaczony warstwy digrofu C : x0xi‘»••***• Oznaczmy przoz 1 numer worotwy, do której należy wierzchołek xp ; *p£Xj,
K - oznacza numor ostatniej warstwy.
2° Będziemy cechowali wierzchołki x€X cechami podwójnymi
(F(x), y(x)). W tym colu przez C oznaczymy zbiór wierzchołków. które so aktualnie ocechowane. Zadanemu wierzchołkowi , xp nadajemy cechę (0.0), to znaczy F(xp) • 0. y(xp) ■ 0.
W tej chwili C • {xpJ. Podstawiamy i i ■ 1 ♦ 1.
3° Pytamy czy i > K ?
NIE: Bierzemy pod uwagę warstwę (nostępnę w kolejnoócl).
Bierzemy pod uwagę wierzchołki xCX1 takie, dla których zbiór ocechowanych poprzedników nie Jeot pusty. P “l( x )ACjfp. Olo kożdego wierzchołko xCX., którego zbiór ocechowanych poprzedników nie jeot pusty, obliczamy wartość lewej ce -chy
F(x) ■ *ax [l(y .x) ♦ F(y)] yer^jnC
Ooko wartość prowej cechy y(x) wierzchołka x przyjmujemy ten wierzchołek y, przy którym powyższe wyrażenie przy -jęło wartość ckotremolnę.
C i • C k/ (x).
Po rozpatrzeniu wozystkich wierzchołków xCpodstawiamy i i • i * 1 1 przechodzimy do punktu 3°.
TAK t Przochodzimy do punktu 4° (rozpatrzone zostały wszystkie warstwy).
4° Zbiór ocechowanych wierzchołków C Jeot zbiorem wierzchołków oslęgalnych z wierzchołka xp. to znaczy stanowi zbiór wierzchołków noksymalnego dondrytu najdłuższych dróg. od wierzchołka xp, w sieci S.
Oługoóc najdłużeżoj drogi z xp do dowolnego wierzchołka xCC określona Jeot wartoócię lewoj cochy F(x) togo wierzchołka. Drogę ty wyznaczają prawo cechy wierzchołków poczy-najoc od wiorzchołka xk i przoeuwajęc oiy do wierzchołka xp przeciwnie do zwrotu łuków (od koóca). Znojdujęc w ten epoaób ontydrogi do wierzchołka xp. dla każdego wierzchołka x£ C, wyznaczamy w eieci 6 cały dendryt rokoymolny najdłuższych dróg, od zadanego wierzchołko xp. Praktycznie, noloży do każdego wierzchołka x doprowadzić Jader łuk od wiorzchołko okreólonogo wartości* prawej cechy y(x).
Przykład 10.2
Bioręc Biec S z przykładu 10.1, przedatowion* w układzie warstwowym na ryą.10.4, etosujemy algorytm pkt 10.2.1, przy założeniu xp • x0. Oako łuk <x7,x4> przyjmujemy, zgodnio z uwo-go 1, łuk Ujj. Otrzymujemy zbiór ocechowanych wierzchołków C •
• Tablica 10.7
X |
X2 |
X3 |
X4.. |
*5 |
X6 |
x7 |
X8 |
X9 |
F( x) |
26 |
27 |
38 . |
34 |
24 |
11 |
0 |
8 |
y(*) |
X6 |
X2 |
X7 |
X6 |
X7 |
X9 |
9 |
X8 |
Rye.10.5